Fix flake8
diff --git a/.travis.yml b/.travis.yml
index ed782b1e..bff54dd2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,7 +20,7 @@ script:
   - pytest -s -vv --cov=. --log-level=INFO tests/
   # Actually run all the scripts, contributing to coverage
   - PYTHONPATH=. ./run_all.sh
-  - flake8 *py
+  - flake8 patterns/
 
 after_success:
   - codecov
diff --git a/append_output.sh b/append_output.sh
index 3e5ea610..8e576d0f 100755
--- a/append_output.sh
+++ b/append_output.sh
@@ -16,4 +16,4 @@ echo "$src" > $1
 echo -e "\n" >> $1
 echo "$output_marker" >> $1
 echo "$output" >> $1
-echo '"""' >> $1
+echo '"""  # noqa' >> $1
diff --git a/patterns/behavioral/command.py b/patterns/behavioral/command.py
index 17765e52..74fcfc9c 100644
--- a/patterns/behavioral/command.py
+++ b/patterns/behavioral/command.py
@@ -6,7 +6,8 @@
 Encapsulates all information needed to perform an action or trigger an event.
 
 *Examples in Python ecosystem:
-Django HttpRequest (without `execute` method): https://docs.djangoproject.com/en/2.1/ref/request-response/#httprequest-objects
+Django HttpRequest (without `execute` method):
+ https://docs.djangoproject.com/en/2.1/ref/request-response/#httprequest-objects
 """
 
 from __future__ import print_function
diff --git a/patterns/behavioral/iterator.py b/patterns/behavioral/iterator.py
index 49f8e569..167979ec 100644
--- a/patterns/behavioral/iterator.py
+++ b/patterns/behavioral/iterator.py
@@ -29,13 +29,9 @@ def main():
     for number in count_to_two():
         print(number, end=' ')
 
-    print()
-
-    print('Counting to five...')
+    print('\nCounting to five...')
     for number in count_to_five():
         print(number, end=' ')
-        
-    print()
 
 
 if __name__ == "__main__":
@@ -47,4 +43,4 @@ def main():
 one two 
 Counting to five...
 one two three four five 
-"""
+"""  # noqa
diff --git a/patterns/behavioral/memento.py b/patterns/behavioral/memento.py
index 059dce42..7feade2b 100644
--- a/patterns/behavioral/memento.py
+++ b/patterns/behavioral/memento.py
@@ -98,7 +98,7 @@ def main():
             print(num_obj)
         num_obj.value += 'x'  # will fail
         print(num_obj)
-    except Exception as e:
+    except Exception:
         a_transaction.rollback()
         print('-- rolled back')
     print(num_obj)
@@ -106,7 +106,7 @@ def main():
     print('-- now doing stuff ...')
     try:
         num_obj.do_stuff()
-    except Exception as e:
+    except Exception:
         print('-> doing stuff failed!')
         import sys
         import traceback
@@ -114,9 +114,10 @@ def main():
         traceback.print_exc(file=sys.stdout)
     print(num_obj)
 
+
 if __name__ == '__main__':
     main()
-    
+
 
 OUTPUT = """
 <NumObj: -1>
diff --git a/patterns/behavioral/specification.py b/patterns/behavioral/specification.py
index 6198af1f..5c77370e 100644
--- a/patterns/behavioral/specification.py
+++ b/patterns/behavioral/specification.py
@@ -102,7 +102,7 @@ def main():
     print(root_specification.is_satisfied_by(ivan))
     print(root_specification.is_satisfied_by(vasiliy))
 
-    
+
 if __name__ == '__main__':
     main()
 
diff --git a/patterns/behavioral/state.py b/patterns/behavioral/state.py
index 0d567093..46508c3a 100644
--- a/patterns/behavioral/state.py
+++ b/patterns/behavioral/state.py
@@ -76,7 +76,7 @@ def main():
     for action in actions:
         action()
 
-        
+
 if __name__ == '__main__':
     main()
 
diff --git a/patterns/behavioral/template.py b/patterns/behavioral/template.py
index 61c581ce..7ae97796 100644
--- a/patterns/behavioral/template.py
+++ b/patterns/behavioral/template.py
@@ -5,7 +5,7 @@
 An example of the Template pattern in Python
 
 *TL;DR80
-Defines the skeleton of a base algorithm, deferring definition of exact 
+Defines the skeleton of a base algorithm, deferring definition of exact
 steps to subclasses.
 
 *Examples in Python ecosystem:
diff --git a/patterns/fundamental/delegation_pattern.py b/patterns/fundamental/delegation_pattern.py
index 3e26be9d..ad41ac1e 100644
--- a/patterns/fundamental/delegation_pattern.py
+++ b/patterns/fundamental/delegation_pattern.py
@@ -32,7 +32,7 @@ def __init__(self, delegate):
 
     def __getattr__(self, name):
         attr = getattr(self.delegate, name)
-        
+
         if not callable(attr):
             return attr
 
diff --git a/patterns/structural/flyweight.py b/patterns/structural/flyweight.py
index b2a0bde0..c8fba6a2 100644
--- a/patterns/structural/flyweight.py
+++ b/patterns/structural/flyweight.py
@@ -119,8 +119,8 @@ def __init__(self, *args, **kwargs):
     cm2 = Card2('10', 'h', a=1)
     cm3 = Card2('10', 'h', a=2)
 
-    assert (cm1 == cm2) and ( cm1 != cm3)
-    assert (cm1 is cm2) and ( cm1 is not cm3)
+    assert (cm1 == cm2) and (cm1 != cm3)
+    assert (cm1 is cm2) and (cm1 is not cm3)
     assert len(instances_pool) == 2
 
     del cm1
diff --git a/setup.cfg b/setup.cfg
index 51c75321..536a52d7 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -2,3 +2,8 @@
 max-line-length = 120
 ignore = E266 E731
 exclude = .venv*
+
+[tool:pytest]
+filterwarnings =
+    ; ignore TestRunner class from facade example
+    ignore:.*test class 'TestRunner'.*:Warning
diff --git a/setup.py b/setup.py
index 3b013677..07c495dc 100644
--- a/setup.py
+++ b/setup.py
@@ -7,8 +7,7 @@
         "Programming Language :: Python :: 2",
         "Programming Language :: Python :: 2.7",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.4",
-        "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
+        "Programming Language :: Python :: 3.7",
     ],
 )

As it turns out `flake8 *py` command checks only files by that mask in current folder, w/o going into subfolders. Fix required to also fix existing warnings.

In addition to that:
- added `# noqa` to `append_output.sh`  because multiline output string is also checked by flake8 (which is weird but it is current behavior discussed e.g. [here](https://github.com/PyCQA/pycodestyle/issues/45))
- suppressed one `pytest` warning regarding example TestRunner class from facade
- modified `setup.py` to correspond to changes in #270 (+py37)