Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pep8-naming for 
openSUSE:Factory checked in at 2022-02-07 23:38:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pep8-naming (Old)
 and      /work/SRC/openSUSE:Factory/.python-pep8-naming.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pep8-naming"

Mon Feb  7 23:38:02 2022 rev:10 rq:952002 version:0.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pep8-naming/python-pep8-naming.changes    
2021-06-19 23:03:44.907736834 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pep8-naming.new.1898/python-pep8-naming.changes
  2022-02-07 23:39:07.330020862 +0100
@@ -1,0 +2,12 @@
+Mon Feb  7 04:03:47 UTC 2022 - Steve Kowalik <[email protected]>
+
+- Update to 0.12.1:
+  * Fix potential stack exhaustion in the N818 check.
+  * flake8 3.9.1 or later is now required.
+  * N818 checks exception class names for an "Error" suffix
+  * asyncSetUp and asyncTearDown are now exempted by default. 
+- Remove pep8-naming-pr157-exception-names.patch, merged.
+- Add patch add-missing-option-for-testsuite.patch:
+  * Merged commit from upstream to make tests pass.
+
+-------------------------------------------------------------------

Old:
----
  pep8-naming-0.11.1.tar.gz
  pep8-naming-pr157-exception-names.patch

New:
----
  add-missing-option-for-testsuite.patch
  pep8-naming-0.12.1.tar.gz

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

Other differences:
------------------
++++++ python-pep8-naming.spec ++++++
--- /var/tmp/diff_new_pack.FhLeAB/_old  2022-02-07 23:39:07.798017659 +0100
+++ /var/tmp/diff_new_pack.FhLeAB/_new  2022-02-07 23:39:07.802017632 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pep8-naming
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,15 +18,13 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pep8-naming
-Version:        0.11.1
+Version:        0.12.1
 Release:        0
 Summary:        Flake8 plugin for checking PEP-8 naming conventions
 License:        MIT
-Group:          Development/Languages/Python
 URL:            https://github.com/PyCQA/pep8-naming
 Source:         
https://files.pythonhosted.org/packages/source/p/pep8-naming/pep8-naming-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM pep8-naming-pr157-exception-names.patch -- 
gh#PyCQA/pep8-naming#157 for compatibility with flake8 >= 3.9.1
-Patch1:         pep8-naming-pr157-exception-names.patch
+Patch0:         add-missing-option-for-testsuite.patch
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros

++++++ add-missing-option-for-testsuite.patch ++++++
>From 03b8f36f6a8bb8bc79dfa5a71ad9be2a0bf8bbf5 Mon Sep 17 00:00:00 2001
From: Ian Stapleton Cordasco <[email protected]>
Date: Wed, 20 Oct 2021 07:58:49 -0500
Subject: [PATCH] Add missing option to get passing tests

Related to https://github.com/PyCQA/pep8-naming/pull/180
---
 run_tests.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/run_tests.py b/run_tests.py
index 64d80b5..660fede 100644
--- a/run_tests.py
+++ b/run_tests.py
@@ -86,6 +86,7 @@ def parse_options(checker, options):
     options_manager = OptionsManager('flake8')
     options_manager.add_option('--select', default=[])
     options_manager.add_option('--extended-default-select', default=['N'])
+    options_manager.add_option('--extend-select', default=[])
     options_manager.add_option('--ignore', default=[])
     options_manager.add_option('--extend-ignore', default=[])
     options_manager.add_option('--enable-extensions', default=[])

++++++ pep8-naming-0.11.1.tar.gz -> pep8-naming-0.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/CHANGELOG.rst 
new/pep8-naming-0.12.1/CHANGELOG.rst
--- old/pep8-naming-0.11.1/CHANGELOG.rst        2020-06-17 01:48:07.000000000 
+0200
+++ new/pep8-naming-0.12.1/CHANGELOG.rst        2021-08-08 04:43:20.000000000 
+0200
@@ -1,6 +1,21 @@
 Changes
 =======
 
+0.12.1 - 2021-08-06
+-------------------
+
+* Fix potential stack exhaustion in the N818 check.
+
+0.12.0 - 2021-07-06
+-------------------
+
+* flake8 3.9.1 or later is now required.
+
+* N818 checks exception class names for an "Error" suffix (disabled by 
default).
+
+* ``asyncSetUp`` and ``asyncTearDown`` are now exempted by default.
+
+
 0.11.1 - 2020-06-16
 -------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/PKG-INFO 
new/pep8-naming-0.12.1/PKG-INFO
--- old/pep8-naming-0.11.1/PKG-INFO     2020-06-17 01:48:38.000000000 +0200
+++ new/pep8-naming-0.12.1/PKG-INFO     2021-08-08 04:43:51.902501000 +0200
@@ -1,15 +1,15 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: pep8-naming
-Version: 0.11.1
+Version: 0.12.1
 Summary: Check PEP-8 naming conventions, plugin for flake8
 Home-page: https://github.com/PyCQA/pep8-naming
 Author: Florent Xicluna
 Author-email: [email protected]
 License: Expat license
-Description: .. image:: 
https://travis-ci.org/PyCQA/pep8-naming.svg?branch=master
-            :target: https://travis-ci.org/PyCQA/pep8-naming
-        
-        PEP 8 Naming Conventions
+Project-URL: Source, https://github.com/PyCQA/pep8-naming
+Project-URL: Issues, https://github.com/PyCQA/pep8-naming/issues
+Project-URL: Changelog, 
https://github.com/PyCQA/pep8-naming/blob/master/CHANGELOG.rst
+Description: PEP 8 Naming Conventions
         ========================
         
         Check your code against `PEP 8 
<https://www.python.org/dev/peps/pep-0008/>`_
@@ -46,38 +46,51 @@
         
         These error codes are emitted:
         
-        +------+-------------------------------------------------------+
-        | code | sample message                                        |
-        +======+=======================================================+
-        | N801 | class names should use CapWords convention            |
-        +------+-------------------------------------------------------+
-        | N802 | function name should be lowercase                     |
-        +------+-------------------------------------------------------+
-        | N803 | argument name should be lowercase                     |
-        +------+-------------------------------------------------------+
-        | N804 | first argument of a classmethod should be named 'cls' |
-        +------+-------------------------------------------------------+
-        | N805 | first argument of a method should be named 'self'     |
-        +------+-------------------------------------------------------+
-        | N806 | variable in function should be lowercase              |
-        +------+-------------------------------------------------------+
-        | N807 | function name should not start and end with '__'      |
-        +------+-------------------------------------------------------+
-        +------+-------------------------------------------------------+
-        | N811 | constant imported as non constant                     |
-        +------+-------------------------------------------------------+
-        | N812 | lowercase imported as non lowercase                   |
-        +------+-------------------------------------------------------+
-        | N813 | camelcase imported as lowercase                       |
-        +------+-------------------------------------------------------+
-        | N814 | camelcase imported as constant                        |
-        +------+-------------------------------------------------------+
-        | N815 | mixedCase variable in class scope                     |
-        +------+-------------------------------------------------------+
-        | N816 | mixedCase variable in global scope                    |
-        +------+-------------------------------------------------------+
-        | N817 | camelcase imported as acronym                         |
-        +------+-------------------------------------------------------+
+        
+---------+-----------------------------------------------------------------+
+        | code    | sample message                                             
     |
+        
+=========+=================================================================+
+        | _`N801` | class names should use CapWords convention (`class 
names`_)     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N802` | function name should be lowercase (`function names`_)      
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N803` | argument name should be lowercase (`function arguments`_)  
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N804` | first argument of a classmethod should be named 'cls'      
     |
+        |         | (`function arguments`_)                                    
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N805` | first argument of a method should be named 'self'          
     |
+        |         | (`function arguments`_)                                    
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N806` | variable in function should be lowercase                   
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N807` | function name should not start and end with '__'           
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N811` | constant imported as non constant (`constants`_)           
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N812` | lowercase imported as non-lowercase                        
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N813` | camelcase imported as lowercase                            
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N814` | camelcase imported as constant                             
     |
+        |         | (distinct from `N817`_ for selective enforcement)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N815` | mixedCase variable in class scope                          
     |
+        |         | (`constants`_, `method names`_)                            
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N816` | mixedCase variable in global scope (`constants`_)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N817` | camelcase imported as acronym                              
     |
+        |         | (distinct from `N814`_ for selective enforcement)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N818` | error suffix in exception names (`exceptions`_)            
     |
+        
+---------+-----------------------------------------------------------------+
+        
+        .. _class names: https://www.python.org/dev/peps/pep-0008/#class-names
+        .. _constants: https://www.python.org/dev/peps/pep-0008/#constants
+        .. _exceptions: 
https://www.python.org/dev/peps/pep-0008/#exception-names
+        .. _function names: 
https://www.python.org/dev/peps/pep-0008/#function-and-variable-names
+        .. _function arguments: 
https://www.python.org/dev/peps/pep-0008/#function-and-method-arguments
+        .. _method names: 
https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
         
         Options
         -------
@@ -88,7 +101,7 @@
         
                                     Currently, this option can only be used 
for N802, N803, N804, N805, N806, N815, and N816 errors.
         
-                                    Default: 
``setUp,tearDown,setUpClass,tearDownClass,setUpTestData,failureException,longMessage,maxDiff``.
+                                    Default: 
``setUp,tearDown,setUpClass,tearDownClass,asyncSetUp,asyncTearDown,setUpTestData,failureException,longMessage,maxDiff``.
         
         --classmethod-decorators    List of method decorators pep8-naming 
plugin should consider class method.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/README.rst 
new/pep8-naming-0.12.1/README.rst
--- old/pep8-naming-0.11.1/README.rst   2020-04-14 21:07:29.000000000 +0200
+++ new/pep8-naming-0.12.1/README.rst   2021-07-06 14:04:16.000000000 +0200
@@ -1,6 +1,3 @@
-.. image:: https://travis-ci.org/PyCQA/pep8-naming.svg?branch=master
-    :target: https://travis-ci.org/PyCQA/pep8-naming
-
 PEP 8 Naming Conventions
 ========================
 
@@ -38,38 +35,51 @@
 
 These error codes are emitted:
 
-+------+-------------------------------------------------------+
-| code | sample message                                        |
-+======+=======================================================+
-| N801 | class names should use CapWords convention            |
-+------+-------------------------------------------------------+
-| N802 | function name should be lowercase                     |
-+------+-------------------------------------------------------+
-| N803 | argument name should be lowercase                     |
-+------+-------------------------------------------------------+
-| N804 | first argument of a classmethod should be named 'cls' |
-+------+-------------------------------------------------------+
-| N805 | first argument of a method should be named 'self'     |
-+------+-------------------------------------------------------+
-| N806 | variable in function should be lowercase              |
-+------+-------------------------------------------------------+
-| N807 | function name should not start and end with '__'      |
-+------+-------------------------------------------------------+
-+------+-------------------------------------------------------+
-| N811 | constant imported as non constant                     |
-+------+-------------------------------------------------------+
-| N812 | lowercase imported as non lowercase                   |
-+------+-------------------------------------------------------+
-| N813 | camelcase imported as lowercase                       |
-+------+-------------------------------------------------------+
-| N814 | camelcase imported as constant                        |
-+------+-------------------------------------------------------+
-| N815 | mixedCase variable in class scope                     |
-+------+-------------------------------------------------------+
-| N816 | mixedCase variable in global scope                    |
-+------+-------------------------------------------------------+
-| N817 | camelcase imported as acronym                         |
-+------+-------------------------------------------------------+
++---------+-----------------------------------------------------------------+
+| code    | sample message                                                  |
++=========+=================================================================+
+| _`N801` | class names should use CapWords convention (`class names`_)     |
++---------+-----------------------------------------------------------------+
+| _`N802` | function name should be lowercase (`function names`_)           |
++---------+-----------------------------------------------------------------+
+| _`N803` | argument name should be lowercase (`function arguments`_)       |
++---------+-----------------------------------------------------------------+
+| _`N804` | first argument of a classmethod should be named 'cls'           |
+|         | (`function arguments`_)                                         |
++---------+-----------------------------------------------------------------+
+| _`N805` | first argument of a method should be named 'self'               |
+|         | (`function arguments`_)                                         |
++---------+-----------------------------------------------------------------+
+| _`N806` | variable in function should be lowercase                        |
++---------+-----------------------------------------------------------------+
+| _`N807` | function name should not start and end with '__'                |
++---------+-----------------------------------------------------------------+
+| _`N811` | constant imported as non constant (`constants`_)                |
++---------+-----------------------------------------------------------------+
+| _`N812` | lowercase imported as non-lowercase                             |
++---------+-----------------------------------------------------------------+
+| _`N813` | camelcase imported as lowercase                                 |
++---------+-----------------------------------------------------------------+
+| _`N814` | camelcase imported as constant                                  |
+|         | (distinct from `N817`_ for selective enforcement)               |
++---------+-----------------------------------------------------------------+
+| _`N815` | mixedCase variable in class scope                               |
+|         | (`constants`_, `method names`_)                                 |
++---------+-----------------------------------------------------------------+
+| _`N816` | mixedCase variable in global scope (`constants`_)               |
++---------+-----------------------------------------------------------------+
+| _`N817` | camelcase imported as acronym                                   |
+|         | (distinct from `N814`_ for selective enforcement)               |
++---------+-----------------------------------------------------------------+
+| _`N818` | error suffix in exception names (`exceptions`_)                 |
++---------+-----------------------------------------------------------------+
+
+.. _class names: https://www.python.org/dev/peps/pep-0008/#class-names
+.. _constants: https://www.python.org/dev/peps/pep-0008/#constants
+.. _exceptions: https://www.python.org/dev/peps/pep-0008/#exception-names
+.. _function names: 
https://www.python.org/dev/peps/pep-0008/#function-and-variable-names
+.. _function arguments: 
https://www.python.org/dev/peps/pep-0008/#function-and-method-arguments
+.. _method names: 
https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
 
 Options
 -------
@@ -80,7 +90,7 @@
 
                             Currently, this option can only be used for N802, 
N803, N804, N805, N806, N815, and N816 errors.
 
-                            Default: 
``setUp,tearDown,setUpClass,tearDownClass,setUpTestData,failureException,longMessage,maxDiff``.
+                            Default: 
``setUp,tearDown,setUpClass,tearDownClass,asyncSetUp,asyncTearDown,setUpTestData,failureException,longMessage,maxDiff``.
 
 --classmethod-decorators    List of method decorators pep8-naming plugin 
should consider class method.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/run_tests.py 
new/pep8-naming-0.12.1/run_tests.py
--- old/pep8-naming-0.11.1/run_tests.py 2020-06-05 18:27:22.000000000 +0200
+++ new/pep8-naming-0.12.1/run_tests.py 2021-04-19 18:06:04.000000000 +0200
@@ -75,6 +75,10 @@
     def __init__(self, *args, **kwargs):
         optparse.OptionParser.__init__(self, *args, **kwargs)
         self.config_options = []
+        self.ignore = []
+
+    def extend_default_ignore(self, new_ignores):
+        self.ignore += new_ignores
 
 
 def parse_options(checker, options):
@@ -85,6 +89,7 @@
     options_manager.add_option('--ignore', default=[])
     options_manager.add_option('--extend-ignore', default=[])
     options_manager.add_option('--enable-extensions', default=[])
+    options_manager.add_option('--extended-default-ignore', default=[])
     checker.add_options(options_manager)
     processed_options, _ = options_manager.parse_args(options)
     checker.parse_options(processed_options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/setup.cfg 
new/pep8-naming-0.12.1/setup.cfg
--- old/pep8-naming-0.11.1/setup.cfg    2020-06-17 01:48:38.000000000 +0200
+++ new/pep8-naming-0.12.1/setup.cfg    2021-08-08 04:43:51.902947000 +0200
@@ -1,3 +1,9 @@
+[metadata]
+project_urls = 
+       Source=https://github.com/PyCQA/pep8-naming
+       Issues=https://github.com/PyCQA/pep8-naming/issues
+       Changelog=https://github.com/PyCQA/pep8-naming/blob/master/CHANGELOG.rst
+
 [wheel]
 universal = 1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/setup.py 
new/pep8-naming-0.12.1/setup.py
--- old/pep8-naming-0.11.1/setup.py     2020-04-14 21:07:29.000000000 +0200
+++ new/pep8-naming-0.12.1/setup.py     2021-04-19 18:06:04.000000000 +0200
@@ -44,7 +44,7 @@
     license='Expat license',
     package_dir={'': 'src'},
     py_modules=['pep8ext_naming'],
-    install_requires=['flake8_polyfill>=1.0.2,<2'],
+    install_requires=['flake8>=3.9.1', 'flake8_polyfill>=1.0.2,<2'],
     zip_safe=False,
     entry_points={
         'flake8.extension': [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/src/pep8_naming.egg-info/PKG-INFO 
new/pep8-naming-0.12.1/src/pep8_naming.egg-info/PKG-INFO
--- old/pep8-naming-0.11.1/src/pep8_naming.egg-info/PKG-INFO    2020-06-17 
01:48:38.000000000 +0200
+++ new/pep8-naming-0.12.1/src/pep8_naming.egg-info/PKG-INFO    2021-08-08 
04:43:51.000000000 +0200
@@ -1,15 +1,15 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: pep8-naming
-Version: 0.11.1
+Version: 0.12.1
 Summary: Check PEP-8 naming conventions, plugin for flake8
 Home-page: https://github.com/PyCQA/pep8-naming
 Author: Florent Xicluna
 Author-email: [email protected]
 License: Expat license
-Description: .. image:: 
https://travis-ci.org/PyCQA/pep8-naming.svg?branch=master
-            :target: https://travis-ci.org/PyCQA/pep8-naming
-        
-        PEP 8 Naming Conventions
+Project-URL: Source, https://github.com/PyCQA/pep8-naming
+Project-URL: Issues, https://github.com/PyCQA/pep8-naming/issues
+Project-URL: Changelog, 
https://github.com/PyCQA/pep8-naming/blob/master/CHANGELOG.rst
+Description: PEP 8 Naming Conventions
         ========================
         
         Check your code against `PEP 8 
<https://www.python.org/dev/peps/pep-0008/>`_
@@ -46,38 +46,51 @@
         
         These error codes are emitted:
         
-        +------+-------------------------------------------------------+
-        | code | sample message                                        |
-        +======+=======================================================+
-        | N801 | class names should use CapWords convention            |
-        +------+-------------------------------------------------------+
-        | N802 | function name should be lowercase                     |
-        +------+-------------------------------------------------------+
-        | N803 | argument name should be lowercase                     |
-        +------+-------------------------------------------------------+
-        | N804 | first argument of a classmethod should be named 'cls' |
-        +------+-------------------------------------------------------+
-        | N805 | first argument of a method should be named 'self'     |
-        +------+-------------------------------------------------------+
-        | N806 | variable in function should be lowercase              |
-        +------+-------------------------------------------------------+
-        | N807 | function name should not start and end with '__'      |
-        +------+-------------------------------------------------------+
-        +------+-------------------------------------------------------+
-        | N811 | constant imported as non constant                     |
-        +------+-------------------------------------------------------+
-        | N812 | lowercase imported as non lowercase                   |
-        +------+-------------------------------------------------------+
-        | N813 | camelcase imported as lowercase                       |
-        +------+-------------------------------------------------------+
-        | N814 | camelcase imported as constant                        |
-        +------+-------------------------------------------------------+
-        | N815 | mixedCase variable in class scope                     |
-        +------+-------------------------------------------------------+
-        | N816 | mixedCase variable in global scope                    |
-        +------+-------------------------------------------------------+
-        | N817 | camelcase imported as acronym                         |
-        +------+-------------------------------------------------------+
+        
+---------+-----------------------------------------------------------------+
+        | code    | sample message                                             
     |
+        
+=========+=================================================================+
+        | _`N801` | class names should use CapWords convention (`class 
names`_)     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N802` | function name should be lowercase (`function names`_)      
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N803` | argument name should be lowercase (`function arguments`_)  
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N804` | first argument of a classmethod should be named 'cls'      
     |
+        |         | (`function arguments`_)                                    
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N805` | first argument of a method should be named 'self'          
     |
+        |         | (`function arguments`_)                                    
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N806` | variable in function should be lowercase                   
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N807` | function name should not start and end with '__'           
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N811` | constant imported as non constant (`constants`_)           
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N812` | lowercase imported as non-lowercase                        
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N813` | camelcase imported as lowercase                            
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N814` | camelcase imported as constant                             
     |
+        |         | (distinct from `N817`_ for selective enforcement)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N815` | mixedCase variable in class scope                          
     |
+        |         | (`constants`_, `method names`_)                            
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N816` | mixedCase variable in global scope (`constants`_)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N817` | camelcase imported as acronym                              
     |
+        |         | (distinct from `N814`_ for selective enforcement)          
     |
+        
+---------+-----------------------------------------------------------------+
+        | _`N818` | error suffix in exception names (`exceptions`_)            
     |
+        
+---------+-----------------------------------------------------------------+
+        
+        .. _class names: https://www.python.org/dev/peps/pep-0008/#class-names
+        .. _constants: https://www.python.org/dev/peps/pep-0008/#constants
+        .. _exceptions: 
https://www.python.org/dev/peps/pep-0008/#exception-names
+        .. _function names: 
https://www.python.org/dev/peps/pep-0008/#function-and-variable-names
+        .. _function arguments: 
https://www.python.org/dev/peps/pep-0008/#function-and-method-arguments
+        .. _method names: 
https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
         
         Options
         -------
@@ -88,7 +101,7 @@
         
                                     Currently, this option can only be used 
for N802, N803, N804, N805, N806, N815, and N816 errors.
         
-                                    Default: 
``setUp,tearDown,setUpClass,tearDownClass,setUpTestData,failureException,longMessage,maxDiff``.
+                                    Default: 
``setUp,tearDown,setUpClass,tearDownClass,asyncSetUp,asyncTearDown,setUpTestData,failureException,longMessage,maxDiff``.
         
         --classmethod-decorators    List of method decorators pep8-naming 
plugin should consider class method.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pep8-naming-0.11.1/src/pep8_naming.egg-info/SOURCES.txt 
new/pep8-naming-0.12.1/src/pep8_naming.egg-info/SOURCES.txt
--- old/pep8-naming-0.11.1/src/pep8_naming.egg-info/SOURCES.txt 2020-06-17 
01:48:38.000000000 +0200
+++ new/pep8-naming-0.12.1/src/pep8_naming.egg-info/SOURCES.txt 2021-08-08 
04:43:51.000000000 +0200
@@ -41,6 +41,7 @@
 testsuite/N816_py3.py
 testsuite/N816_py37.py
 testsuite/N816_py38.py
+testsuite/N818.py
 testsuite/N81x.py
 testsuite/N81x_py3.py
 testsuite/N8xx_py36.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pep8-naming-0.11.1/src/pep8_naming.egg-info/requires.txt 
new/pep8-naming-0.12.1/src/pep8_naming.egg-info/requires.txt
--- old/pep8-naming-0.11.1/src/pep8_naming.egg-info/requires.txt        
2020-06-17 01:48:38.000000000 +0200
+++ new/pep8-naming-0.12.1/src/pep8_naming.egg-info/requires.txt        
2021-08-08 04:43:51.000000000 +0200
@@ -1 +1,2 @@
+flake8>=3.9.1
 flake8_polyfill<2,>=1.0.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/src/pep8ext_naming.py 
new/pep8-naming-0.12.1/src/pep8ext_naming.py
--- old/pep8-naming-0.11.1/src/pep8ext_naming.py        2020-06-17 
01:48:07.000000000 +0200
+++ new/pep8-naming-0.12.1/src/pep8ext_naming.py        2021-08-08 
04:43:20.000000000 +0200
@@ -15,7 +15,7 @@
 except ImportError:
     from flake8.util import ast, iter_child_nodes
 
-__version__ = '0.11.1'
+__version__ = '0.12.1'
 
 PYTHON_VERSION = sys.version_info[:3]
 PY2 = PYTHON_VERSION[0] == 2
@@ -107,6 +107,8 @@
         'tearDown',
         'setUpClass',
         'tearDownClass',
+        'asyncSetUp',
+        'asyncTearDown',
         'setUpTestData',
         'failureException',
         'longMessage',
@@ -167,6 +169,7 @@
                          help='List of method decorators pep8-naming plugin '
                               'should consider staticmethods (Defaults to '
                               '%default)')
+        parser.extend_default_ignore(['N818'])
 
     @classmethod
     def parse_options(cls, options):
@@ -291,6 +294,26 @@
     Classes for internal use have a leading underscore in addition.
     """
     N801 = "class name '{name}' should use CapWords convention"
+    N818 = "exception name '{name}' should be named with an Error suffix"
+
+    @classmethod
+    def get_classdef(cls, name, parents):
+        for parent in parents:
+            for node in parent.body:
+                if isinstance(node, ast.ClassDef) and node.name == name:
+                    return node
+
+    @classmethod
+    def superclass_names(cls, name, parents, _names=None):
+        names = _names or set()
+        classdef = cls.get_classdef(name, parents)
+        if not classdef:
+            return names
+        for base in classdef.bases:
+            if isinstance(base, ast.Name) and base.id not in names:
+                names.add(base.id)
+                names.update(cls.superclass_names(base.id, parents, names))
+        return names
 
     def visit_classdef(self, node, parents, ignore=None):
         name = node.name
@@ -299,6 +322,9 @@
         name = name.strip('_')
         if not name[:1].isupper() or '_' in name:
             yield self.err(node, 'N801', name=name)
+        superclasses = self.superclass_names(name, parents)
+        if "Exception" in superclasses and not name.endswith("Error"):
+            yield self.err(node, 'N818', name=name)
 
 
 class FunctionNameCheck(BaseASTCheck):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/testsuite/N802.py 
new/pep8-naming-0.12.1/testsuite/N802.py
--- old/pep8-naming-0.11.1/testsuite/N802.py    2020-04-14 21:07:29.000000000 
+0200
+++ new/pep8-naming-0.12.1/testsuite/N802.py    2021-07-06 14:04:16.000000000 
+0200
@@ -70,5 +70,9 @@
         pass
     def tearDownClass(self):
         pass
+    def asyncSetUp(self):
+        pass
+    def asyncTearDown(self):
+        pass
     def setUpTestData(self):
         pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.11.1/testsuite/N818.py 
new/pep8-naming-0.12.1/testsuite/N818.py
--- old/pep8-naming-0.11.1/testsuite/N818.py    1970-01-01 01:00:00.000000000 
+0100
+++ new/pep8-naming-0.12.1/testsuite/N818.py    2021-08-06 23:38:47.000000000 
+0200
@@ -0,0 +1,34 @@
+#: Okay
+class ActionError(Exception):
+    pass
+#: N818
+class ActionClass(Exception):
+    pass
+#: Okay
+class ActionError(Exception):
+    pass
+class DeepActionError(ActionError):
+    pass
+#: N818
+class ActionError(Exception):
+    pass
+class DeepActionClass(ActionError):
+    pass
+#: Okay
+class MixinError(Exception):
+    pass
+class Mixin:
+    pass
+class MixinActionError(Mixin, MixinError):
+    pass
+#: N818
+class MixinError(Exception):
+    pass
+class Mixin:
+    pass
+class MixinActionClass(Mixin, MixinError):
+    pass
+#: Okay
+from decimal import Decimal
+class Decimal(Decimal):
+    pass

Reply via email to