Hello community,

here is the log from the commit of package python3-pycodestyle for 
openSUSE:Factory checked in at 2016-11-07 12:24:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pycodestyle (Old)
 and      /work/SRC/openSUSE:Factory/.python3-pycodestyle.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-pycodestyle"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pycodestyle/python3-pycodestyle.changes  
2016-08-18 09:17:25.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.python3-pycodestyle.new/python3-pycodestyle.changes 
    2016-11-07 12:24:09.000000000 +0100
@@ -1,0 +2,25 @@
+Sun Nov  6 20:35:51 UTC 2016 - a...@gmx.de
+
+- update to version 2.1.0:
+  * Announcements:
+    + Change all references to the pep8 project to say pycodestyle;
+      #530
+  * Changes:
+    + Report E302 for blank lines before an "async def"; #556
+    + Update our list of tested and supported Python versions which
+      are 2.6, 2.7, 3.2, 3.3, 3.4 and 3.5 as well as the nightly
+      Python build and PyPy.
+    + Report E742 and E743 for functions and classes badly named 'l',
+      'O', or 'I'.
+    + Report E741 on 'global' and 'nonlocal' statements, as well as
+      prohibited single-letter variables.
+    + Deprecated use of `[pep8]` section name in favor of
+      `[pycodestyle]`; #591
+  * Bugs:
+    + Fix opt_type AssertionError when using Flake8 2.6.2 and
+      pycodestyle; #561
+    + Require two blank lines after toplevel def, class; #536
+    + Remove accidentally quadratic computation based on the number of
+      colons. This will make pycodestyle faster in some cases; #314
+
+-------------------------------------------------------------------

Old:
----
  pycodestyle-2.0.0.tar.gz

New:
----
  pycodestyle-2.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-pycodestyle.spec ++++++
--- /var/tmp/diff_new_pack.qBXxuF/_old  2016-11-07 12:24:10.000000000 +0100
+++ /var/tmp/diff_new_pack.qBXxuF/_new  2016-11-07 12:24:10.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-pycodestyle
-Version:        2.0.0
+Version:        2.1.0
 Release:        0
 Url:            https://github.com/PyCQA/pycodestyle
 Summary:        Python style guide checker - formery python3-pep8

++++++ pycodestyle-2.0.0.tar.gz -> pycodestyle-2.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/CHANGES.txt 
new/pycodestyle-2.1.0/CHANGES.txt
--- old/pycodestyle-2.0.0/CHANGES.txt   2016-06-01 02:00:29.000000000 +0200
+++ new/pycodestyle-2.1.0/CHANGES.txt   2016-11-04 16:00:31.000000000 +0100
@@ -1,6 +1,29 @@
 Changelog
 =========
 
+2.1.0 (unreleased)
+------------------
+
+Announcements:
+
+* Change all references to the pep8 project to say pycodestyle; #530
+
+Changes:
+
+* Report E302 for blank lines before an "async def"; #556
+* Update our list of tested and supported Python versions which are 2.6, 2.7,
+  3.2, 3.3, 3.4 and 3.5 as well as the nightly Python build and PyPy.
+* Report E742 and E743 for functions and classes badly named 'l', 'O', or 'I'.
+* Report E741 on 'global' and 'nonlocal' statements, as well as prohibited
+  single-letter variables.
+* Deprecated use of `[pep8]` section name in favor of `[pycodestyle]`; #591
+
+Bugs:
+
+* Fix opt_type AssertionError when using Flake8 2.6.2 and pycodestyle; #561
+* Require two blank lines after toplevel def, class; #536
+* Remove accidentally quadratic computation based on the number of colons. This
+  will make pycodestyle faster in some cases; #314
 
 2.0.0 (2016-05-31)
 ------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/CONTRIBUTING.rst 
new/pycodestyle-2.1.0/CONTRIBUTING.rst
--- old/pycodestyle-2.0.0/CONTRIBUTING.rst      2016-06-01 01:52:06.000000000 
+0200
+++ new/pycodestyle-2.1.0/CONTRIBUTING.rst      2016-08-13 20:42:06.000000000 
+0200
@@ -1,4 +1,72 @@
-Contributing to ``pycodestyle``
-===============================
+Contributing to pycodestyle
+===========================
 
-Please see the `developer notes 
<https://pycodestyle.readthedocs.io/en/latest/developer.html>`_
+When contributing to pycodestyle, please observe our `Code of Conduct`_.
+
+Step 1: Forking pycodestyle for editing
+---------------------------------------
+
+Fork the pycodestyle repository on GitHub. This will add
+pycodestyle to your GitHub account. You will push your changes to your
+fork and then make pull requests into the official pycodestyle repository.
+
+GitHub has an excellent `guide`_ that has screenshots on how to do this.
+
+Next, clone your fork of the pycodestyle repository to your system for
+editing::
+
+    $ git clone https://www.github.com/<your_username>/pycodestyle
+
+Now you have a copy of the pycodestyle codebase that is almost ready for
+edits.  Next we will setup `virtualenv`_ which will help create an isolated
+environment to manage dependancies.
+
+
+Step 2: Use virtualenv when developing
+--------------------------------------
+
+`virtualenv`_ is a tool to create isolated python environments.
+First, install virtualenv with::
+
+    $ pip install virtualenv
+
+Next, ``cd`` to the pycodestyle repository that you cloned earlier and
+create, then activate a virtualenv::
+
+    $ cd pycodestyle
+    $ virtualenv pycodestyle-venv
+    $ source pycodestyle-venv/bin/activate
+
+Now you can install the pycodestyle requirements::
+
+    $ pip install -r dev-requirements.txt
+
+To deactivate the virtualenv you can type::
+
+    $ deactivate
+
+For more information see `virtualenv`_'s documentation.
+
+
+Step 3: Run tests
+-----------------
+
+Before creating a pull request you should run the tests to make sure that the
+changes that have been made haven't caused any regressions in functionality.
+To run the tests, the core developer team and Travis-CI use `tox`_::
+
+    $ pip install -r dev-requirements.txt
+    $ tox
+
+All the tests should pass for all available interpreters, with the summary of::
+
+    congratulations :)
+
+At this point you can create a pull request back to the official pycodestyles
+repository for review! For more information on how to make a pull request,
+GitHub has an excellent `guide`_.
+
+.. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/
+.. _guide: https://guides.github.com/activities/forking/
+.. _tox: https://tox.readthedocs.io/en/latest/
+.. _Code of Conduct: http://meta.pycqa.org/en/latest/code-of-conduct.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/PKG-INFO 
new/pycodestyle-2.1.0/PKG-INFO
--- old/pycodestyle-2.0.0/PKG-INFO      2016-06-01 02:22:48.000000000 +0200
+++ new/pycodestyle-2.1.0/PKG-INFO      2016-11-04 16:46:05.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pycodestyle
-Version: 2.0.0
+Version: 2.1.0
 Summary: Python style guide checker
 Home-page: https://pycodestyle.readthedocs.io/
 Author: Ian Lee
@@ -9,6 +9,22 @@
 Description: pycodestyle (formerly called pep8) - Python style guide checker
         ===============================================================
         
+        .. image:: https://img.shields.io/travis/PyCQA/pycodestyle.svg
+           :target: https://travis-ci.org/PyCQA/pycodestyle
+           :alt: Build status
+        
+        .. image:: 
https://readthedocs.org/projects/pycodestyle/badge/?version=latest
+            :target: https://pycodestyle.readthedocs.io
+            :alt: Documentation Status
+        
+        .. image:: https://img.shields.io/pypi/wheel/pycodestyle.svg
+           :target: https://pypi.python.org/pypi/pycodestyle
+           :alt: Wheel Status
+        
+        .. image:: https://badges.gitter.im/PyCQA/pycodestyle.svg
+           :alt: Join the chat at https://gitter.im/PyCQA/pycodestyle
+           :target: 
https://gitter.im/PyCQA/pycodestyle?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
+        
         pycodestyle is a tool to check your Python code against some of the 
style
         conventions in `PEP 8`_.
         
@@ -17,8 +33,12 @@
         .. note::
         
             This package used to be called ``pep8`` but was renamed to 
``pycodestyle``
-            to reduce confusion. Further discussion `here
-            <https://github.com/PyCQA/pycodestyle/issues/466>`_.
+            to reduce confusion. Further discussion can be found `in the issue 
where
+            Guido requested this
+            change <https://github.com/PyCQA/pycodestyle/issues/466>`_, or in 
the
+            lightning talk at PyCon 2016 by @IanLee1521:
+            `slides <https://speakerdeck.com/ianlee1521/pep8-vs-pep-8>`_
+            `video <https://youtu.be/PulzIT8KYLk?t=36m>`_.
         
         Features
         --------
@@ -35,7 +55,7 @@
         Installation
         ------------
         
-        You can install, upgrade, uninstall ``pycodestyle.py`` with these 
commands::
+        You can install, upgrade, and uninstall ``pycodestyle.py`` with these 
commands::
         
           $ pip install pycodestyle
           $ pip install --upgrade pycodestyle
@@ -91,14 +111,6 @@
         Links
         -----
         
-        .. image:: 
https://api.travis-ci.org/PyCQA/pycodestyle.png?branch=master
-           :target: https://travis-ci.org/PyCQA/pycodestyle
-           :alt: Build status
-        
-        .. image:: https://pypip.in/wheel/pycodestyle/badge.png?branch=master
-           :target: https://pypi.python.org/pypi/pycodestyle
-           :alt: Wheel Status
-        
         * `Read the documentation <https://pycodestyle.readthedocs.io/>`_
         
         * `Fork me on GitHub <http://github.com/PyCQA/pycodestyle>`_
@@ -107,6 +119,29 @@
         Changelog
         =========
         
+        2.1.0 (unreleased)
+        ------------------
+        
+        Announcements:
+        
+        * Change all references to the pep8 project to say pycodestyle; #530
+        
+        Changes:
+        
+        * Report E302 for blank lines before an "async def"; #556
+        * Update our list of tested and supported Python versions which are 
2.6, 2.7,
+          3.2, 3.3, 3.4 and 3.5 as well as the nightly Python build and PyPy.
+        * Report E742 and E743 for functions and classes badly named 'l', 'O', 
or 'I'.
+        * Report E741 on 'global' and 'nonlocal' statements, as well as 
prohibited
+          single-letter variables.
+        * Deprecated use of `[pep8]` section name in favor of `[pycodestyle]`; 
#591
+        
+        Bugs:
+        
+        * Fix opt_type AssertionError when using Flake8 2.6.2 and pycodestyle; 
#561
+        * Require two blank lines after toplevel def, class; #536
+        * Remove accidentally quadratic computation based on the number of 
colons. This
+          will make pycodestyle faster in some cases; #314
         
         2.0.0 (2016-05-31)
         ------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/README.rst 
new/pycodestyle-2.1.0/README.rst
--- old/pycodestyle-2.0.0/README.rst    2016-06-01 02:00:29.000000000 +0200
+++ new/pycodestyle-2.1.0/README.rst    2016-11-04 16:17:26.000000000 +0100
@@ -1,6 +1,22 @@
 pycodestyle (formerly called pep8) - Python style guide checker
 ===============================================================
 
+.. image:: https://img.shields.io/travis/PyCQA/pycodestyle.svg
+   :target: https://travis-ci.org/PyCQA/pycodestyle
+   :alt: Build status
+
+.. image:: https://readthedocs.org/projects/pycodestyle/badge/?version=latest
+    :target: https://pycodestyle.readthedocs.io
+    :alt: Documentation Status
+
+.. image:: https://img.shields.io/pypi/wheel/pycodestyle.svg
+   :target: https://pypi.python.org/pypi/pycodestyle
+   :alt: Wheel Status
+
+.. image:: https://badges.gitter.im/PyCQA/pycodestyle.svg
+   :alt: Join the chat at https://gitter.im/PyCQA/pycodestyle
+   :target: 
https://gitter.im/PyCQA/pycodestyle?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
+
 pycodestyle is a tool to check your Python code against some of the style
 conventions in `PEP 8`_.
 
@@ -9,8 +25,12 @@
 .. note::
 
     This package used to be called ``pep8`` but was renamed to ``pycodestyle``
-    to reduce confusion. Further discussion `here
-    <https://github.com/PyCQA/pycodestyle/issues/466>`_.
+    to reduce confusion. Further discussion can be found `in the issue where
+    Guido requested this
+    change <https://github.com/PyCQA/pycodestyle/issues/466>`_, or in the
+    lightning talk at PyCon 2016 by @IanLee1521:
+    `slides <https://speakerdeck.com/ianlee1521/pep8-vs-pep-8>`_
+    `video <https://youtu.be/PulzIT8KYLk?t=36m>`_.
 
 Features
 --------
@@ -27,7 +47,7 @@
 Installation
 ------------
 
-You can install, upgrade, uninstall ``pycodestyle.py`` with these commands::
+You can install, upgrade, and uninstall ``pycodestyle.py`` with these 
commands::
 
   $ pip install pycodestyle
   $ pip install --upgrade pycodestyle
@@ -83,14 +103,6 @@
 Links
 -----
 
-.. image:: https://api.travis-ci.org/PyCQA/pycodestyle.png?branch=master
-   :target: https://travis-ci.org/PyCQA/pycodestyle
-   :alt: Build status
-
-.. image:: https://pypip.in/wheel/pycodestyle/badge.png?branch=master
-   :target: https://pypi.python.org/pypi/pycodestyle
-   :alt: Wheel Status
-
 * `Read the documentation <https://pycodestyle.readthedocs.io/>`_
 
 * `Fork me on GitHub <http://github.com/PyCQA/pycodestyle>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/dev-requirements.txt 
new/pycodestyle-2.1.0/dev-requirements.txt
--- old/pycodestyle-2.0.0/dev-requirements.txt  1970-01-01 01:00:00.000000000 
+0100
+++ new/pycodestyle-2.1.0/dev-requirements.txt  2016-06-08 06:18:03.000000000 
+0200
@@ -0,0 +1 @@
+tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/docs/developer.rst 
new/pycodestyle-2.1.0/docs/developer.rst
--- old/pycodestyle-2.0.0/docs/developer.rst    2016-06-01 02:00:29.000000000 
+0200
+++ new/pycodestyle-2.1.0/docs/developer.rst    2016-06-25 21:55:31.000000000 
+0200
@@ -14,8 +14,8 @@
 * `Source code <https://github.com/pycqa/pycodestyle>`_ and
   `issue tracker <https://github.com/pycqa/pycodestyle/issues>`_ on GitHub.
 * `Continuous tests <http://travis-ci.org/pycqa/pycodestyle>`_ against Python
-  2.6 through 3.4 and PyPy, on `Travis-CI platform
-  <http://about.travis-ci.org/>`_.
+  2.6 through 3.5 as well as the nightly Python build and PyPy, on `Travis-CI
+  platform <https://docs.travis-ci.com//>`_.
 
 .. _available on GitHub: https://github.com/pycqa/pycodestyle
 
@@ -27,7 +27,8 @@
 
 * ``pycodestyle`` is intended to be as fast as possible.
   Using the ``ast`` module defeats that purpose.
-  The `pep8-naming <https://github.com/flintwork/pep8-naming>`_ plugin exists 
for this sort of functionality.
+  The `pep8-naming <https://github.com/flintwork/pep8-naming>`_ plugin exists
+  for this sort of functionality.
 * If you want to provide extensibility / plugins,
   please see `flake8 <https://gitlab.com/pycqa/flake8>`_ -
   ``pycodestyle`` doesn't want or need a plugin architecture.
@@ -103,6 +104,15 @@
 
 When contributing to pycodestyle, please observe our `Code of Conduct`_.
 
+To run the tests, the core developer team and Travis-CI use tox::
+
+    $ pip install -r dev-requirements.txt
+    $ tox
+
+All the tests should pass for all available interpreters, with the summary of::
+
+    congratulations :)
+
 .. _PEP 8: http://www.python.org/dev/peps/pep-0008/
 .. _Code of Conduct: http://meta.pycqa.org/en/latest/code-of-conduct.html
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/docs/intro.rst 
new/pycodestyle-2.1.0/docs/intro.rst
--- old/pycodestyle-2.0.0/docs/intro.rst        2016-06-01 02:00:29.000000000 
+0200
+++ new/pycodestyle-2.1.0/docs/intro.rst        2016-07-09 18:58:23.000000000 
+0200
@@ -167,13 +167,14 @@
       --benchmark        measure processing speed
 
     Configuration:
-      The project options are read from the [pep8] section of the tox.ini
-      file or the setup.cfg file located in any parent folder of the path(s)
-      being processed.  Allowed options are: exclude, filename, select,
+      The project options are read from the [pycodestyle] section of the
+      tox.ini file or the setup.cfg file located in any parent folder of the
+      path(s) being processed.  Allowed options are: exclude, filename, select,
       ignore, max-line-length, hang-closing, count, format, quiet, show-pep8,
       show-source, statistics, verbose.
 
-      --config=path      user config file location (default: ~/.config/pep8)
+      --config=path      user config file location
+      (default: ~/.config/pycodestyle)
 
 
 Configuration
@@ -184,23 +185,23 @@
 At the user level, settings are read from the following locations:
 
 If on Windows:
-    ``~\.pep8``
+    ``~\.pycodestyle``
 
 Otherwise, if the :envvar:`XDG_CONFIG_HOME` environment variable is defined:
-    ``XDG_CONFIG_HOME/pep8``
+    ``XDG_CONFIG_HOME/pycodestyle``
 
 Else if :envvar:`XDG_CONFIG_HOME` is not defined:
-    ``~/.config/pep8``
+    ``~/.config/pycodestyle``
 
 Example::
 
-  [pep8]
+  [pycodestyle]
   ignore = E226,E302,E41
   max-line-length = 160
 
 At the project level, a ``setup.cfg`` file or a ``tox.ini`` file is read if
-present. If none of these files have a ``[pep8]`` section, no project specific
-configuration is loaded.
+present. If none of these files have a ``[pycodestyle]`` section, no project
+specific configuration is loaded.
 
 
 Error codes
@@ -321,6 +322,8 @@
 
+------------+----------------------------------------------------------------------+
 | E304       | blank lines found after function decorator                      
     |
 
+------------+----------------------------------------------------------------------+
+| E305       | expected 2 blank lines after end of function or class           
     |
++------------+----------------------------------------------------------------------+
 
+------------+----------------------------------------------------------------------+
 | **E4**     | *Import*                                                        
     |
 
+------------+----------------------------------------------------------------------+
@@ -358,6 +361,12 @@
 
+------------+----------------------------------------------------------------------+
 | E731       | do not assign a lambda expression, use a def                    
     |
 
+------------+----------------------------------------------------------------------+
+| E741       | do not use variables named 'l', 'O', or 'I'                     
     |
++------------+----------------------------------------------------------------------+
+| E742       | do not define classes named 'l', 'O', or 'I'                    
     |
++------------+----------------------------------------------------------------------+
+| E743       | do not define functions named 'l', 'O', or 'I'                  
     |
++------------+----------------------------------------------------------------------+
 
+------------+----------------------------------------------------------------------+
 | **E9**     | *Runtime*                                                       
     |
 
+------------+----------------------------------------------------------------------+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/pycodestyle.egg-info/PKG-INFO 
new/pycodestyle-2.1.0/pycodestyle.egg-info/PKG-INFO
--- old/pycodestyle-2.0.0/pycodestyle.egg-info/PKG-INFO 2016-06-01 
02:22:48.000000000 +0200
+++ new/pycodestyle-2.1.0/pycodestyle.egg-info/PKG-INFO 2016-11-04 
16:46:05.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pycodestyle
-Version: 2.0.0
+Version: 2.1.0
 Summary: Python style guide checker
 Home-page: https://pycodestyle.readthedocs.io/
 Author: Ian Lee
@@ -9,6 +9,22 @@
 Description: pycodestyle (formerly called pep8) - Python style guide checker
         ===============================================================
         
+        .. image:: https://img.shields.io/travis/PyCQA/pycodestyle.svg
+           :target: https://travis-ci.org/PyCQA/pycodestyle
+           :alt: Build status
+        
+        .. image:: 
https://readthedocs.org/projects/pycodestyle/badge/?version=latest
+            :target: https://pycodestyle.readthedocs.io
+            :alt: Documentation Status
+        
+        .. image:: https://img.shields.io/pypi/wheel/pycodestyle.svg
+           :target: https://pypi.python.org/pypi/pycodestyle
+           :alt: Wheel Status
+        
+        .. image:: https://badges.gitter.im/PyCQA/pycodestyle.svg
+           :alt: Join the chat at https://gitter.im/PyCQA/pycodestyle
+           :target: 
https://gitter.im/PyCQA/pycodestyle?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
+        
         pycodestyle is a tool to check your Python code against some of the 
style
         conventions in `PEP 8`_.
         
@@ -17,8 +33,12 @@
         .. note::
         
             This package used to be called ``pep8`` but was renamed to 
``pycodestyle``
-            to reduce confusion. Further discussion `here
-            <https://github.com/PyCQA/pycodestyle/issues/466>`_.
+            to reduce confusion. Further discussion can be found `in the issue 
where
+            Guido requested this
+            change <https://github.com/PyCQA/pycodestyle/issues/466>`_, or in 
the
+            lightning talk at PyCon 2016 by @IanLee1521:
+            `slides <https://speakerdeck.com/ianlee1521/pep8-vs-pep-8>`_
+            `video <https://youtu.be/PulzIT8KYLk?t=36m>`_.
         
         Features
         --------
@@ -35,7 +55,7 @@
         Installation
         ------------
         
-        You can install, upgrade, uninstall ``pycodestyle.py`` with these 
commands::
+        You can install, upgrade, and uninstall ``pycodestyle.py`` with these 
commands::
         
           $ pip install pycodestyle
           $ pip install --upgrade pycodestyle
@@ -91,14 +111,6 @@
         Links
         -----
         
-        .. image:: 
https://api.travis-ci.org/PyCQA/pycodestyle.png?branch=master
-           :target: https://travis-ci.org/PyCQA/pycodestyle
-           :alt: Build status
-        
-        .. image:: https://pypip.in/wheel/pycodestyle/badge.png?branch=master
-           :target: https://pypi.python.org/pypi/pycodestyle
-           :alt: Wheel Status
-        
         * `Read the documentation <https://pycodestyle.readthedocs.io/>`_
         
         * `Fork me on GitHub <http://github.com/PyCQA/pycodestyle>`_
@@ -107,6 +119,29 @@
         Changelog
         =========
         
+        2.1.0 (unreleased)
+        ------------------
+        
+        Announcements:
+        
+        * Change all references to the pep8 project to say pycodestyle; #530
+        
+        Changes:
+        
+        * Report E302 for blank lines before an "async def"; #556
+        * Update our list of tested and supported Python versions which are 
2.6, 2.7,
+          3.2, 3.3, 3.4 and 3.5 as well as the nightly Python build and PyPy.
+        * Report E742 and E743 for functions and classes badly named 'l', 'O', 
or 'I'.
+        * Report E741 on 'global' and 'nonlocal' statements, as well as 
prohibited
+          single-letter variables.
+        * Deprecated use of `[pep8]` section name in favor of `[pycodestyle]`; 
#591
+        
+        Bugs:
+        
+        * Fix opt_type AssertionError when using Flake8 2.6.2 and pycodestyle; 
#561
+        * Require two blank lines after toplevel def, class; #536
+        * Remove accidentally quadratic computation based on the number of 
colons. This
+          will make pycodestyle faster in some cases; #314
         
         2.0.0 (2016-05-31)
         ------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/pycodestyle.egg-info/SOURCES.txt 
new/pycodestyle-2.1.0/pycodestyle.egg-info/SOURCES.txt
--- old/pycodestyle-2.0.0/pycodestyle.egg-info/SOURCES.txt      2016-06-01 
02:22:48.000000000 +0200
+++ new/pycodestyle-2.1.0/pycodestyle.egg-info/SOURCES.txt      2016-11-04 
16:46:05.000000000 +0100
@@ -2,6 +2,7 @@
 CONTRIBUTING.rst
 MANIFEST.in
 README.rst
+dev-requirements.txt
 pycodestyle.py
 setup.cfg
 setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/pycodestyle.py 
new/pycodestyle-2.1.0/pycodestyle.py
--- old/pycodestyle-2.0.0/pycodestyle.py        2016-06-01 02:00:29.000000000 
+0200
+++ new/pycodestyle-2.1.0/pycodestyle.py        2016-11-04 16:41:11.000000000 
+0100
@@ -48,33 +48,35 @@
 """
 from __future__ import with_statement
 
+import inspect
+import keyword
 import os
-import sys
 import re
+import sys
 import time
-import inspect
-import keyword
 import tokenize
 import warnings
-from optparse import OptionParser
+
 from fnmatch import fnmatch
+from optparse import OptionParser
+
 try:
     from configparser import RawConfigParser
     from io import TextIOWrapper
 except ImportError:
     from ConfigParser import RawConfigParser
 
-__version__ = '2.0.0'
+__version__ = '2.1.0'
 
 DEFAULT_EXCLUDE = '.svn,CVS,.bzr,.hg,.git,__pycache__,.tox'
 DEFAULT_IGNORE = 'E121,E123,E126,E226,E24,E704,W503'
 try:
     if sys.platform == 'win32':
-        USER_CONFIG = os.path.expanduser(r'~\.pep8')
+        USER_CONFIG = os.path.expanduser(r'~\.pycodestyle')
     else:
         USER_CONFIG = os.path.join(
             os.getenv('XDG_CONFIG_HOME') or os.path.expanduser('~/.config'),
-            'pep8'
+            'pycodestyle'
         )
 except ImportError:
     USER_CONFIG = None
@@ -197,7 +199,7 @@
             return len(physical_line), "W292 no newline at end of file"
 
 
-def maximum_line_length(physical_line, max_line_length, multiline):
+def maximum_line_length(physical_line, max_line_length, multiline, noqa):
     r"""Limit all lines to a maximum of 79 characters.
 
     There are still many devices around that are limited to 80 character
@@ -211,7 +213,7 @@
     """
     line = physical_line.rstrip()
     length = len(line)
-    if length > max_line_length and not noqa(line):
+    if length > max_line_length and not noqa:
         # Special case for long URLs in multi-line docstrings or comments,
         # but still report the error when the 72 first chars are whitespaces.
         chunks = line.split()
@@ -236,7 +238,9 @@
 
 
 def blank_lines(logical_line, blank_lines, indent_level, line_number,
-                blank_before, previous_logical, previous_indent_level):
+                blank_before, previous_logical,
+                previous_unindented_logical_line, previous_indent_level,
+                lines):
     r"""Separate top-level function and class definitions with two blank lines.
 
     Method definitions inside a class are separated by a single blank line.
@@ -248,13 +252,16 @@
     Use blank lines in functions, sparingly, to indicate logical sections.
 
     Okay: def a():\n    pass\n\n\ndef b():\n    pass
+    Okay: def a():\n    pass\n\n\nasync def b():\n    pass
     Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
 
     E301: class Foo:\n    b = 0\n    def bar():\n        pass
     E302: def a():\n    pass\n\ndef b(n):\n    pass
+    E302: def a():\n    pass\n\nasync def b(n):\n    pass
     E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
     E303: def a():\n\n\n\n    pass
     E304: @decorator\n\ndef a():\n    pass
+    E305: def a():\n    pass\na()
     """
     if line_number < 3 and not previous_logical:
         return  # Don't expect blank lines before the first line
@@ -263,13 +270,30 @@
             yield 0, "E304 blank lines found after function decorator"
     elif blank_lines > 2 or (indent_level and blank_lines == 2):
         yield 0, "E303 too many blank lines (%d)" % blank_lines
-    elif logical_line.startswith(('def ', 'class ', '@')):
+    elif logical_line.startswith(('def ', 'async def', 'class ', '@')):
         if indent_level:
             if not (blank_before or previous_indent_level < indent_level or
                     DOCSTRING_REGEX.match(previous_logical)):
-                yield 0, "E301 expected 1 blank line, found 0"
+                ancestor_level = indent_level
+                nested = False
+                # Search backwards for a def ancestor or tree root (top level).
+                for line in lines[line_number - 2::-1]:
+                    if line.strip() and expand_indent(line) < ancestor_level:
+                        ancestor_level = expand_indent(line)
+                        nested = line.lstrip().startswith('def ')
+                        if nested or ancestor_level == 0:
+                            break
+                if nested:
+                    yield 0, "E306 expected 1 blank line before a " \
+                        "nested definition, found 0"
+                else:
+                    yield 0, "E301 expected 1 blank line, found 0"
         elif blank_before != 2:
             yield 0, "E302 expected 2 blank lines, found %d" % blank_before
+    elif (logical_line and not indent_level and blank_before != 2 and
+          previous_unindented_logical_line.startswith(('def', 'class'))):
+        yield 0, "E305 expected 2 blank lines after " \
+            "class or function definition, found %d" % blank_before
 
 
 def extraneous_whitespace(logical_line):
@@ -958,22 +982,25 @@
     line = logical_line
     last_char = len(line) - 1
     found = line.find(':')
+    prev_found = 0
+    counts = dict((char, 0) for char in '{}[]()')
     while -1 < found < last_char:
-        before = line[:found]
-        if ((before.count('{') <= before.count('}') and   # {'a': 1} (dict)
-             before.count('[') <= before.count(']') and   # [1:2] (slice)
-             before.count('(') <= before.count(')'))):    # (annotation)
-            lambda_kw = LAMBDA_REGEX.search(before)
+        update_counts(line[prev_found:found], counts)
+        if ((counts['{'] <= counts['}'] and   # {'a': 1} (dict)
+             counts['['] <= counts[']'] and   # [1:2] (slice)
+             counts['('] <= counts[')'])):    # (annotation)
+            lambda_kw = LAMBDA_REGEX.search(line, 0, found)
             if lambda_kw:
                 before = line[:lambda_kw.start()].rstrip()
                 if before[-1:] == '=' and isidentifier(before[:-1].strip()):
                     yield 0, ("E731 do not assign a lambda expression, use a "
                               "def")
                 break
-            if before.startswith('def '):
+            if line.startswith('def '):
                 yield 0, "E704 multiple statements on one line (def)"
             else:
                 yield found, "E701 multiple statements on one line (colon)"
+        prev_found = found
         found = line.find(':', found + 1)
     found = line.find(';')
     while -1 < found:
@@ -1150,6 +1177,58 @@
         yield match.start(), "E721 do not compare types, use 'isinstance()'"
 
 
+def ambiguous_identifier(logical_line, tokens):
+    r"""Never use the characters 'l', 'O', or 'I' as variable names.
+
+    In some fonts, these characters are indistinguishable from the numerals
+    one and zero. When tempted to use 'l', use 'L' instead.
+
+    Okay: L = 0
+    Okay: o = 123
+    Okay: i = 42
+    E741: l = 0
+    E741: O = 123
+    E741: I = 42
+
+    Variables can be bound in several other contexts, including class and
+    function definitions, 'global' and 'nonlocal' statements, exception
+    handlers, and 'with' statements.
+
+    Okay: except AttributeError as o:
+    Okay: with lock as L:
+    E741: except AttributeError as O:
+    E741: with lock as l:
+    E741: global I
+    E741: nonlocal l
+    E742: class I(object):
+    E743: def l(x):
+    """
+    idents_to_avoid = ('l', 'O', 'I')
+    prev_type, prev_text, prev_start, prev_end, __ = tokens[0]
+    for token_type, text, start, end, line in tokens[1:]:
+        ident = pos = None
+        # identifiers on the lhs of an assignment operator
+        if token_type == tokenize.OP and '=' in text:
+            if prev_text in idents_to_avoid:
+                ident = prev_text
+                pos = prev_start
+        # identifiers bound to a value with 'as', 'global', or 'nonlocal'
+        if prev_text in ('as', 'global', 'nonlocal'):
+            if text in idents_to_avoid:
+                ident = text
+                pos = start
+        if prev_text == 'class':
+            if text in idents_to_avoid:
+                yield start, "E742 ambiguous class definition '%s'" % text
+        if prev_text == 'def':
+            if text in idents_to_avoid:
+                yield start, "E743 ambiguous function definition '%s'" % text
+        if ident:
+            yield pos, "E741 ambiguous variable name '%s'" % ident
+        prev_text = text
+        prev_start = start
+
+
 def python_3000_has_key(logical_line, noqa):
     r"""The {}.has_key() method is removed in Python 3: use the 'in' operator.
 
@@ -1219,7 +1298,7 @@
             with open(filename, 'rb') as f:
                 (coding, lines) = tokenize.detect_encoding(f.readline)
                 f = TextIOWrapper(f, coding, line_buffering=True)
-                return [l.decode(coding) for l in lines] + f.readlines()
+                return [line.decode(coding) for line in lines] + f.readlines()
         except (LookupError, SyntaxError, UnicodeError):
             # Fall back if file encoding is improperly declared
             with open(filename, encoding='latin-1') as f:
@@ -1333,8 +1412,18 @@
     return any(fnmatch(filename, pattern) for pattern in patterns)
 
 
+def update_counts(s, counts):
+    r"""Adds one to the counts of each appearance of characters in s,
+        for characters in counts"""
+    for char in s:
+        if char in counts:
+            counts[char] += 1
+
+
 def _is_eol_token(token):
     return token[0] in NEWLINE or token[4][token[3][1]:].lstrip() == '\\\n'
+
+
 if COMMENT_WITH_NL:
     def _is_eol_token(token, _eol_token=_is_eol_token):
         return _eol_token(token) or (token[0] == tokenize.COMMENT and
@@ -1384,6 +1473,8 @@
     mod = inspect.getmodule(register_check)
     for (name, function) in inspect.getmembers(mod, inspect.isfunction):
         register_check(function)
+
+
 init_checks_registry()
 
 
@@ -1431,6 +1522,7 @@
                     self.lines[0] = self.lines[0][3:]
         self.report = report or options.report
         self.report_error = self.report.error
+        self.noqa = False
 
     def report_invalid_syntax(self):
         """Check if the syntax is valid."""
@@ -1541,6 +1633,8 @@
         if self.logical_line:
             self.previous_indent_level = self.indent_level
             self.previous_logical = self.logical_line
+            if not self.indent_level:
+                self.previous_unindented_logical_line = self.logical_line
         self.blank_lines = 0
         self.tokens = []
 
@@ -1565,6 +1659,7 @@
             for token in tokengen:
                 if token[2][0] > self.total_lines:
                     return
+                self.noqa = token[4] and noqa(token[4])
                 self.maybe_check_physical(token)
                 yield token
         except (SyntaxError, tokenize.TokenError):
@@ -1610,6 +1705,7 @@
         self.indent_char = None
         self.indent_level = self.previous_indent_level = 0
         self.previous_logical = ''
+        self.previous_unindented_logical_line = ''
         self.tokens = []
         self.blank_lines = self.blank_before = 0
         parens = 0
@@ -1952,7 +2048,7 @@
         return sorted(checks)
 
 
-def get_parser(prog='pep8', version=__version__):
+def get_parser(prog='pycodestyle', version=__version__):
     """Create the parser for the program."""
     parser = OptionParser(prog=prog, version=version,
                           usage="%prog [options] input ...")
@@ -2020,7 +2116,7 @@
     If a config file is specified on the command line with the "--config"
     option, then only it is used for configuration.
 
-    Otherwise, the user configuration (~/.config/pep8) and any local
+    Otherwise, the user configuration (~/.config/pycodestyle) and any local
     configurations in the current directory or above will be merged together
     (in that order) using the read method of ConfigParser.
     """
@@ -2049,8 +2145,14 @@
             print('cli configuration: %s' % cli_conf)
         config.read(cli_conf)
 
-    pep8_section = parser.prog
-    if config.has_section(pep8_section):
+    pycodestyle_section = None
+    if config.has_section(parser.prog):
+        pycodestyle_section = parser.prog
+    elif config.has_section('pep8'):
+        pycodestyle_section = 'pep8'  # Deprecated
+        warnings.warn('[pep8] section is deprecated. Use [pycodestyle].')
+
+    if pycodestyle_section:
         option_list = dict([(o.dest, o.type or o.action)
                             for o in parser.option_list])
 
@@ -2058,23 +2160,23 @@
         (new_options, __) = parser.parse_args([])
 
         # Second, parse the configuration
-        for opt in config.options(pep8_section):
+        for opt in config.options(pycodestyle_section):
             if opt.replace('_', '-') not in parser.config_options:
                 print("  unknown option '%s' ignored" % opt)
                 continue
             if options.verbose > 1:
-                print("  %s = %s" % (opt, config.get(pep8_section, opt)))
+                print("  %s = %s" % (opt,
+                                     config.get(pycodestyle_section, opt)))
             normalized_opt = opt.replace('-', '_')
             opt_type = option_list[normalized_opt]
             if opt_type in ('int', 'count'):
-                value = config.getint(pep8_section, opt)
-            elif opt_type == 'string':
-                value = config.get(pep8_section, opt)
+                value = config.getint(pycodestyle_section, opt)
+            elif opt_type in ('store_true', 'store_false'):
+                value = config.getboolean(pycodestyle_section, opt)
+            else:
+                value = config.get(pycodestyle_section, opt)
                 if normalized_opt == 'exclude':
                     value = normalize_paths(value, local_dir)
-            else:
-                assert opt_type in ('store_true', 'store_false')
-                value = config.getboolean(pep8_section, opt)
             setattr(new_options, normalized_opt, value)
 
         # Third, overwrite with the command-line options
@@ -2088,7 +2190,7 @@
     """Process options passed either via arglist or via command line args.
 
     Passing in the ``config_file`` parameter allows other tools, such as flake8
-    to specify their own options to be processed in pep8.
+    to specify their own options to be processed in pycodestyle.
     """
     if not parser:
         parser = get_parser()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/setup.cfg 
new/pycodestyle-2.1.0/setup.cfg
--- old/pycodestyle-2.0.0/setup.cfg     2016-06-01 02:22:48.000000000 +0200
+++ new/pycodestyle-2.1.0/setup.cfg     2016-11-04 16:46:05.000000000 +0100
@@ -1,7 +1,7 @@
 [wheel]
 universal = 1
 
-[pep8]
+[pycodestyle]
 select = 
 ignore = E226,E24
 max_line_length = 79
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/E10.py 
new/pycodestyle-2.1.0/testsuite/E10.py
--- old/pycodestyle-2.0.0/testsuite/E10.py      2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/E10.py      2016-06-08 06:18:03.000000000 
+0200
@@ -38,4 +38,8 @@
        u'Norrbotten',
        u'V\xe4sterbotten',
     ])
-#:
+#: E101 W191
+if True:
+    print("""
+       tab at start of this line
+""")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/E12not.py 
new/pycodestyle-2.1.0/testsuite/E12not.py
--- old/pycodestyle-2.0.0/testsuite/E12not.py   2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/E12not.py   2016-07-09 18:58:23.000000000 
+0200
@@ -139,6 +139,7 @@
         var_four):
     print(var_one)
 
+
 if ((row < 0 or self.moduleCount <= row or
      col < 0 or self.moduleCount <= col)):
     raise Exception("%s,%s - %s" % (row, col, self.moduleCount))
@@ -400,6 +401,7 @@
                             .replace('"', '&#34;')
                             .replace('\n', '<br>\n'))
 
+
 #
 parser.add_option('--count', action='store_true',
                   help="print total number of errors and warnings "
@@ -616,6 +618,7 @@
         for key, val in node.items()
     ))]
 
+
 foo([
     'bug'
 ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/E22.py 
new/pycodestyle-2.1.0/testsuite/E22.py
--- old/pycodestyle-2.0.0/testsuite/E22.py      2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/E22.py      2016-06-25 23:41:24.000000000 
+0200
@@ -150,6 +150,7 @@
 def squares(n):
     return (i**2 for i in range(n))
 
+
 ENG_PREFIXES = {
     -6: "\u03bc",  # Greek letter mu
     -3: "m",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/E30.py 
new/pycodestyle-2.1.0/testsuite/E30.py
--- old/pycodestyle-2.0.0/testsuite/E30.py      2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/E30.py      2016-08-13 20:42:06.000000000 
+0200
@@ -44,7 +44,13 @@
 def b():
     pass
 #:
+#: E302:4:1
+def a():
+    pass
 
+async def b():
+    pass
+#:
 
 #: E303:5:1
 print
@@ -88,3 +94,65 @@
 It gives error E303: too many blank lines (3)
 """
 #:
+
+#: E305:7:1
+def a():
+    print
+
+    # comment
+
+    # another comment
+a()
+#: E305:8:1
+def a():
+    print
+
+    # comment
+
+    # another comment
+
+try:
+    a()
+except:
+    pass
+#: E305:5:1
+def a():
+    print
+
+# Two spaces before comments, too.
+if a():
+    a()
+#:
+
+#: E306:3:5
+def a():
+    x = 1
+    def b():
+        pass
+#: E306:3:5 E306:5:9
+def a():
+    x = 2
+    def b():
+        x = 1
+        def c():
+            pass
+#: E306:3:5 E306:6:5
+def a():
+    x = 1
+    class C:
+        pass
+    x = 2
+    def b():
+        pass
+#:
+
+#: E305:8:1
+# Example from https://github.com/PyCQA/pycodestyle/issues/400
+import stuff
+
+
+def main():
+    blah, blah
+
+if __name__ == '__main__':
+    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/E30not.py 
new/pycodestyle-2.1.0/testsuite/E30not.py
--- old/pycodestyle-2.0.0/testsuite/E30not.py   2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/E30not.py   2016-06-25 23:41:24.000000000 
+0200
@@ -132,3 +132,22 @@
 def b():
 
     pass
+#: Okay
+def foo():
+    pass
+
+
+def bar():
+    pass
+
+
+class Foo(object):
+    pass
+
+
+class Bar(object):
+    pass
+
+
+if __name__ == '__main__':
+    foo()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/support.py 
new/pycodestyle-2.1.0/testsuite/support.py
--- old/pycodestyle-2.0.0/testsuite/support.py  2016-06-01 01:52:06.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/support.py  2016-06-26 05:29:00.000000000 
+0200
@@ -196,5 +196,6 @@
         init_tests(style)
     return style.check_files()
 
+
 # nose should not collect these functions
 init_tests.__test__ = run_tests.__test__ = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/test_all.py 
new/pycodestyle-2.1.0/testsuite/test_all.py
--- old/pycodestyle-2.0.0/testsuite/test_all.py 2016-06-01 01:52:06.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/test_all.py 2016-07-09 18:58:23.000000000 
+0200
@@ -62,5 +62,6 @@
 def _main():
     return unittest.TextTestRunner(verbosity=2).run(suite())
 
+
 if __name__ == '__main__':
     sys.exit(not _main())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/test_api.py 
new/pycodestyle-2.1.0/testsuite/test_api.py
--- old/pycodestyle-2.0.0/testsuite/test_api.py 2016-06-01 01:52:06.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/test_api.py 2016-07-09 18:58:23.000000000 
+0200
@@ -138,7 +138,7 @@
         self.reset()
 
     def test_styleguide_options(self):
-        # Instanciate a simple checker
+        # Instantiate a simple checker
         pep8style = pycodestyle.StyleGuide(paths=[E11])
 
         # Check style's attributes
@@ -172,7 +172,7 @@
     def test_styleguide_ignore_code(self):
         def parse_argv(argstring):
             _saved_argv = sys.argv
-            sys.argv = shlex.split('pep8 %s /dev/null' % argstring)
+            sys.argv = shlex.split('pycodestyle %s /dev/null' % argstring)
             try:
                 return pycodestyle.StyleGuide(parse_argv=True)
             finally:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/test_parser.py 
new/pycodestyle-2.1.0/testsuite/test_parser.py
--- old/pycodestyle-2.0.0/testsuite/test_parser.py      2016-06-01 
01:52:06.000000000 +0200
+++ new/pycodestyle-2.1.0/testsuite/test_parser.py      2016-06-08 
06:18:03.000000000 +0200
@@ -19,7 +19,7 @@
 
     def test_vanilla_ignore_parsing(self):
         contents = b"""
-[pep8]
+[pycodestyle]
 ignore = E226,E24
         """
         options, args = _process_file(contents)
@@ -28,7 +28,7 @@
 
     def test_multiline_ignore_parsing(self):
         contents = b"""
-[pep8]
+[pycodestyle]
 ignore =
     E226,
     E24
@@ -40,7 +40,7 @@
 
     def test_trailing_comma_ignore_parsing(self):
         contents = b"""
-[pep8]
+[pycodestyle]
 ignore = E226,
         """
 
@@ -50,7 +50,7 @@
 
     def test_multiline_trailing_comma_ignore_parsing(self):
         contents = b"""
-[pep8]
+[pycodestyle]
 ignore =
     E226,
     E24,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/test_shell.py 
new/pycodestyle-2.1.0/testsuite/test_shell.py
--- old/pycodestyle-2.0.0/testsuite/test_shell.py       2016-06-01 
01:52:06.000000000 +0200
+++ new/pycodestyle-2.1.0/testsuite/test_shell.py       2016-06-08 
06:18:03.000000000 +0200
@@ -19,7 +19,7 @@
         self._saved_stdin_get_value = pycodestyle.stdin_get_value
         self._config_filenames = []
         self.stdin = ''
-        sys.argv = ['pep8']
+        sys.argv = ['pycodestyle']
         sys.stdout = PseudoFile()
         sys.stderr = PseudoFile()
 
@@ -39,7 +39,7 @@
     def stdin_get_value(self):
         return self.stdin
 
-    def pep8(self, *args):
+    def pycodestyle(self, *args):
         del sys.stdout[:], sys.stderr[:]
         sys.argv[1:] = args
         try:
@@ -50,28 +50,30 @@
         return sys.stdout.getvalue(), sys.stderr.getvalue(), errorcode
 
     def test_print_usage(self):
-        stdout, stderr, errcode = self.pep8('--help')
+        stdout, stderr, errcode = self.pycodestyle('--help')
         self.assertFalse(errcode)
         self.assertFalse(stderr)
-        self.assertTrue(stdout.startswith("Usage: pep8 [options] input"))
+        self.assertTrue(stdout.startswith(
+            "Usage: pycodestyle [options] input"
+        ))
 
-        stdout, stderr, errcode = self.pep8('--version')
+        stdout, stderr, errcode = self.pycodestyle('--version')
         self.assertFalse(errcode)
         self.assertFalse(stderr)
         self.assertEqual(stdout.count('\n'), 1)
 
-        stdout, stderr, errcode = self.pep8('--obfuscated')
+        stdout, stderr, errcode = self.pycodestyle('--obfuscated')
         self.assertEqual(errcode, 2)
         self.assertEqual(stderr.splitlines(),
-                         ["Usage: pep8 [options] input ...", "",
-                          "pep8: error: no such option: --obfuscated"])
+                         ["Usage: pycodestyle [options] input ...", "",
+                          "pycodestyle: error: no such option: --obfuscated"])
         self.assertFalse(stdout)
 
         self.assertFalse(self._config_filenames)
 
     def test_check_simple(self):
         E11 = os.path.join(ROOT_DIR, 'testsuite', 'E11.py')
-        stdout, stderr, errcode = self.pep8(E11)
+        stdout, stderr, errcode = self.pycodestyle(E11)
         stdout = stdout.splitlines()
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
@@ -82,20 +84,20 @@
             self.assertEqual(x, str(num))
             self.assertEqual(y, str(col))
             self.assertTrue(msg.startswith(' E11'))
-        # Config file read from the pep8's setup.cfg
+        # Config file read from the pycodestyle's setup.cfg
         config_filenames = [os.path.basename(p)
                             for p in self._config_filenames]
         self.assertTrue('setup.cfg' in config_filenames)
 
     def test_check_stdin(self):
         pycodestyle.PROJECT_CONFIG = ()
-        stdout, stderr, errcode = self.pep8('-')
+        stdout, stderr, errcode = self.pycodestyle('-')
         self.assertFalse(errcode)
         self.assertFalse(stderr)
         self.assertFalse(stdout)
 
         self.stdin = 'import os, sys\n'
-        stdout, stderr, errcode = self.pep8('-')
+        stdout, stderr, errcode = self.pycodestyle('-')
         stdout = stdout.splitlines()
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
@@ -104,7 +106,7 @@
 
     def test_check_non_existent(self):
         self.stdin = 'import os, sys\n'
-        stdout, stderr, errcode = self.pep8('fictitious.py')
+        stdout, stderr, errcode = self.pycodestyle('fictitious.py')
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
         self.assertTrue(stdout.startswith('fictitious.py:1:1: E902 '))
@@ -112,11 +114,11 @@
     def test_check_noarg(self):
         # issue #170: do not read stdin by default
         pycodestyle.PROJECT_CONFIG = ()
-        stdout, stderr, errcode = self.pep8()
+        stdout, stderr, errcode = self.pycodestyle()
         self.assertEqual(errcode, 2)
         self.assertEqual(stderr.splitlines(),
-                         ["Usage: pep8 [options] input ...", "",
-                          "pep8: error: input not specified"])
+                         ["Usage: pycodestyle [options] input ...", "",
+                          "pycodestyle: error: input not specified"])
         self.assertFalse(self._config_filenames)
 
     def test_check_diff(self):
@@ -136,7 +138,7 @@
         ]
 
         self.stdin = '\n'.join(diff_lines)
-        stdout, stderr, errcode = self.pep8('--diff')
+        stdout, stderr, errcode = self.pycodestyle('--diff')
         stdout = stdout.splitlines()
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
@@ -149,7 +151,7 @@
         diff_lines[:2] = ["--- a/testsuite/E11.py      2006-06-01 08:49 +0400",
                           "+++ b/testsuite/E11.py      2008-04-06 17:36 +0400"]
         self.stdin = '\n'.join(diff_lines)
-        stdout, stderr, errcode = self.pep8('--diff')
+        stdout, stderr, errcode = self.pycodestyle('--diff')
         stdout = stdout.splitlines()
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
@@ -167,7 +169,7 @@
                            "@@ -5,0 +6 @@ if True:",
                            "+     print"]
         self.stdin = '\n'.join(diff_lines)
-        stdout, stderr, errcode = self.pep8('--diff')
+        stdout, stderr, errcode = self.pycodestyle('--diff')
         (stdout,) = stdout.splitlines()
         self.assertEqual(errcode, 1)
         self.assertFalse(stderr)
@@ -175,15 +177,17 @@
 
         # missing '--diff'
         self.stdin = '\n'.join(diff_lines)
-        stdout, stderr, errcode = self.pep8()
+        stdout, stderr, errcode = self.pycodestyle()
         self.assertEqual(errcode, 2)
         self.assertFalse(stdout)
-        self.assertTrue(stderr.startswith('Usage: pep8 [options] input ...'))
+        self.assertTrue(stderr.startswith(
+            'Usage: pycodestyle [options] input ...'
+        ))
 
         # no matching file in the diff
         diff_lines[3] = "+++ b/testsuite/lost/E11.py"
         self.stdin = '\n'.join(diff_lines)
-        stdout, stderr, errcode = self.pep8('--diff')
+        stdout, stderr, errcode = self.pycodestyle('--diff')
         self.assertFalse(errcode)
         self.assertFalse(stdout)
         self.assertFalse(stderr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycodestyle-2.0.0/testsuite/utf-8.py 
new/pycodestyle-2.1.0/testsuite/utf-8.py
--- old/pycodestyle-2.0.0/testsuite/utf-8.py    2016-05-31 18:17:34.000000000 
+0200
+++ new/pycodestyle-2.1.0/testsuite/utf-8.py    2016-06-26 00:14:38.000000000 
+0200
@@ -1,22 +1,5 @@
 # -*- coding: utf-8 -*-
 
-
-class Rectangle(Blob):
-
-        def __init__(self, width, height,
-                     color='black', emphasis=None, highlight=0):
-            if width == 0 and height == 0 and \
-                    color == 'red' and emphasis == 'strong' or \
-                    highlight > 100:
-                raise ValueError("sorry, you lose")
-            if width == 0 and height == 0 and (color == 'red' or
-                                               emphasis is None):
-                raise ValueError("I don't think so -- values are %s, %s" %
-                                 (width, height))
-            Blob.__init__(self, width, height,
-                          color, emphasis, highlight)
-
-
 # Some random text with multi-byte characters (utf-8 encoded)
 #
 # Εδώ μάτσο κειμένων τη, τρόπο πιθανό διευθυντές ώρα μη. Νέων απλό παράγει ροή


Reply via email to