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 2024-06-05 17:42:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pep8-naming (Old)
 and      /work/SRC/openSUSE:Factory/.python-pep8-naming.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pep8-naming"

Wed Jun  5 17:42:22 2024 rev:13 rq:1178618 version:0.14.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pep8-naming/python-pep8-naming.changes    
2023-01-02 15:02:32.049474292 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pep8-naming.new.24587/python-pep8-naming.changes
 2024-06-05 17:43:06.535654088 +0200
@@ -1,0 +2,11 @@
+Tue Jun  4 20:46:22 UTC 2024 - Dirk Müller <[email protected]>
+
+- update to 0.14.1:
+  * Require Python 3.8 or later.
+  * Drop support for Python 3.7.
+  * Add support for Python 3.12.
+  * Ignore methods decorated by @typing.override.
+  * Perform case-sensitive ignore-names globbing on all
+    platforms.
+
+-------------------------------------------------------------------

Old:
----
  pep8-naming-0.13.3.tar.gz

New:
----
  pep8-naming-0.14.1.tar.gz

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

Other differences:
------------------
++++++ python-pep8-naming.spec ++++++
--- /var/tmp/diff_new_pack.8cQsCv/_old  2024-06-05 17:43:07.251680164 +0200
+++ /var/tmp/diff_new_pack.8cQsCv/_new  2024-06-05 17:43:07.251680164 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pep8-naming
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,23 +18,21 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pep8-naming
-Version:        0.13.3
+Version:        0.14.1
 Release:        0
 Summary:        Flake8 plugin for checking PEP-8 naming conventions
 License:        MIT
 URL:            https://github.com/PyCQA/pep8-naming
 Source:         
https://files.pythonhosted.org/packages/source/p/pep8-naming/pep8-naming-%{version}.tar.gz
-BuildRequires:  %{python_module base >= 3.7}
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module base >= 3.8}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Requires:       python-flake8 >= 5.0.0
-Requires:       python-flake8-polyfill >= 1.0.2
-Requires:       python-setuptools
 BuildArch:      noarch
 # SECTION test requirements
 BuildRequires:  %{python_module flake8 >= 5.0.0}
-BuildRequires:  %{python_module flake8-polyfill >= 1.0.2}
 # /SECTION
 %python_subpackages
 
@@ -49,10 +47,10 @@
 %autosetup -p1 -n pep8-naming-%{version}
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
@@ -65,5 +63,5 @@
 %license LICENSE
 %{python_sitelib}/pep8ext_naming.py*
 %pycache_only %{python_sitelib}/__pycache__/pep8ext_naming.*.py*
-%{python_sitelib}/pep8_naming-%{version}*-info
+%{python_sitelib}/pep8_naming-%{version}.dist-info
 

++++++ pep8-naming-0.13.3.tar.gz -> pep8-naming-0.14.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/CHANGELOG.rst 
new/pep8-naming-0.14.1/CHANGELOG.rst
--- old/pep8-naming-0.13.3/CHANGELOG.rst        2022-12-19 21:43:16.000000000 
+0100
+++ new/pep8-naming-0.14.1/CHANGELOG.rst        2024-05-17 16:07:14.000000000 
+0200
@@ -1,6 +1,19 @@
 Changes
 =======
 
+0.14.1 - 2024-05-17
+-------------------
+
+* Require Python 3.8 or later.
+
+0.14.0 - 2024-05-16
+-------------------
+
+* Drop support for Python 3.7.
+* Add support for Python 3.12.
+* Ignore methods decorated by ``@typing.override``.
+* Perform case-sensitive ``ignore-names`` globbing on all platforms.
+
 0.13.3 - 2022-12-19
 -------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/PKG-INFO 
new/pep8-naming-0.14.1/PKG-INFO
--- old/pep8-naming-0.13.3/PKG-INFO     2022-12-19 21:43:50.878376200 +0100
+++ new/pep8-naming-0.14.1/PKG-INFO     2024-05-17 16:08:18.518595000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pep8-naming
-Version: 0.13.3
+Version: 0.14.1
 Summary: Check PEP-8 naming conventions, plugin for flake8
 Home-page: https://github.com/PyCQA/pep8-naming
 Author: Florent Xicluna
@@ -18,16 +18,17 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Software Development :: Quality Assurance
-Requires-Python: >=3.7
+Requires-Python: >=3.8
 License-File: LICENSE
+Requires-Dist: flake8>=5.0.0
 
 PEP 8 Naming Conventions
 ========================
@@ -134,3 +135,19 @@
                             Used to prevent false N805 errors.
 
                             Default: ``staticmethod``.
+
+FAQ
+---
+
+How do I configure ``classmethod_decorators`` to recognize `SQLAlchemy`_ class 
methods?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+    classmethod_decorators =
+        classmethod
+        declared_attr
+        expression
+        comparator
+
+.. _SQLAlchemy: https://www.sqlalchemy.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/README.rst 
new/pep8-naming-0.14.1/README.rst
--- old/pep8-naming-0.13.3/README.rst   2022-08-18 02:19:39.000000000 +0200
+++ new/pep8-naming-0.14.1/README.rst   2023-04-11 18:36:59.000000000 +0200
@@ -103,3 +103,19 @@
                             Used to prevent false N805 errors.
 
                             Default: ``staticmethod``.
+
+FAQ
+---
+
+How do I configure ``classmethod_decorators`` to recognize `SQLAlchemy`_ class 
methods?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+    classmethod_decorators =
+        classmethod
+        declared_attr
+        expression
+        comparator
+
+.. _SQLAlchemy: https://www.sqlalchemy.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/setup.py 
new/pep8-naming-0.14.1/setup.py
--- old/pep8-naming-0.13.3/setup.py     2022-12-19 21:43:16.000000000 +0100
+++ new/pep8-naming-0.14.1/setup.py     2024-05-17 16:06:23.000000000 +0200
@@ -44,7 +44,7 @@
     py_modules=['pep8ext_naming'],
     install_requires=['flake8>=5.0.0'],
     zip_safe=False,
-    python_requires='>=3.7',
+    python_requires='>=3.8',
     entry_points={
         'flake8.extension': [
             'N8 = pep8ext_naming:NamingChecker',
@@ -59,11 +59,11 @@
         'Operating System :: OS Independent',
         'Programming Language :: Python',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: 3.10',
         'Programming Language :: Python :: 3.11',
+        'Programming Language :: Python :: 3.12',
         'Programming Language :: Python :: 3 :: Only',
         'Topic :: Software Development :: Libraries :: Python Modules',
         'Topic :: Software Development :: Quality Assurance',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/src/pep8_naming.egg-info/PKG-INFO 
new/pep8-naming-0.14.1/src/pep8_naming.egg-info/PKG-INFO
--- old/pep8-naming-0.13.3/src/pep8_naming.egg-info/PKG-INFO    2022-12-19 
21:43:50.000000000 +0100
+++ new/pep8-naming-0.14.1/src/pep8_naming.egg-info/PKG-INFO    2024-05-17 
16:08:18.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pep8-naming
-Version: 0.13.3
+Version: 0.14.1
 Summary: Check PEP-8 naming conventions, plugin for flake8
 Home-page: https://github.com/PyCQA/pep8-naming
 Author: Florent Xicluna
@@ -18,16 +18,17 @@
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
 Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Software Development :: Quality Assurance
-Requires-Python: >=3.7
+Requires-Python: >=3.8
 License-File: LICENSE
+Requires-Dist: flake8>=5.0.0
 
 PEP 8 Naming Conventions
 ========================
@@ -134,3 +135,19 @@
                             Used to prevent false N805 errors.
 
                             Default: ``staticmethod``.
+
+FAQ
+---
+
+How do I configure ``classmethod_decorators`` to recognize `SQLAlchemy`_ class 
methods?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+::
+
+    classmethod_decorators =
+        classmethod
+        declared_attr
+        expression
+        comparator
+
+.. _SQLAlchemy: https://www.sqlalchemy.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pep8-naming-0.13.3/src/pep8_naming.egg-info/SOURCES.txt 
new/pep8-naming-0.14.1/src/pep8_naming.egg-info/SOURCES.txt
--- old/pep8-naming-0.13.3/src/pep8_naming.egg-info/SOURCES.txt 2022-12-19 
21:43:50.000000000 +0100
+++ new/pep8-naming-0.14.1/src/pep8_naming.egg-info/SOURCES.txt 2024-05-17 
16:08:18.000000000 +0200
@@ -18,14 +18,11 @@
 testsuite/N803.py
 testsuite/N804.py
 testsuite/N805.py
-testsuite/N805_py38.py
 testsuite/N806.py
-testsuite/N806_py38.py
 testsuite/N807.py
 testsuite/N80x.py
 testsuite/N815.py
 testsuite/N816.py
-testsuite/N816_py38.py
 testsuite/N818.py
 testsuite/N81x.py
 testsuite/N8xx.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/src/pep8ext_naming.py 
new/pep8-naming-0.14.1/src/pep8ext_naming.py
--- old/pep8-naming-0.13.3/src/pep8ext_naming.py        2022-12-19 
21:43:16.000000000 +0100
+++ new/pep8-naming-0.14.1/src/pep8ext_naming.py        2024-05-17 
16:07:20.000000000 +0200
@@ -1,17 +1,15 @@
 """Checker of PEP-8 Naming Conventions."""
 import ast
-import sys
 from ast import iter_child_nodes
 from collections import deque
-from fnmatch import fnmatch
+from collections.abc import Iterable
+from fnmatch import fnmatchcase
 from functools import partial
 from itertools import chain
 
 from flake8 import style_guide
 
-__version__ = '0.13.3'
-
-PYTHON_VERSION = sys.version_info[:3]
+__version__ = '0.14.1'
 
 CLASS_METHODS = frozenset((
     '__new__',
@@ -32,15 +30,6 @@
 }
 FUNC_NODES = (ast.FunctionDef, ast.AsyncFunctionDef)
 
-if PYTHON_VERSION < (3, 8):
-    def get_arg_name_tuples(node):
-        groups = (node.args.args, node.args.kwonlyargs)
-        return [(arg, arg.arg) for args in groups for arg in args]
-else:
-    def get_arg_name_tuples(node):
-        groups = (node.args.posonlyargs, node.args.args, node.args.kwonlyargs)
-        return [(arg, arg.arg) for args in groups for arg in args]
-
 
 class _ASTCheckMeta(type):
     def __init__(cls, class_name, bases, namespace):
@@ -54,12 +43,8 @@
 def _err(self, node, code, **kwargs):
     lineno, col_offset = node.lineno, node.col_offset
     if isinstance(node, ast.ClassDef):
-        if PYTHON_VERSION < (3, 8):
-            lineno += len(node.decorator_list)
         col_offset += 6
     elif isinstance(node, FUNC_NODES):
-        if PYTHON_VERSION < (3, 8):
-            lineno += len(node.decorator_list)
         col_offset += 4
     code_str = getattr(self, code)
     if kwargs:
@@ -68,7 +53,7 @@
 
 
 def _ignored(name, ignore):
-    return any(fnmatch(name, i) for i in ignore)
+    return any(fnmatchcase(name, i) for i in ignore)
 
 
 BaseASTCheck = _ASTCheckMeta('BaseASTCheck', (object,),
@@ -118,8 +103,7 @@
     ignore_names = frozenset(_default_ignore_names)
 
     def __init__(self, tree, filename):
-        self.parents = deque()
-        self._node = tree
+        self.tree = tree
 
     @classmethod
     def add_options(cls, parser):
@@ -168,23 +152,22 @@
         )
 
     def run(self):
-        return self.visit_tree(self._node) if self._node else ()
+        return self.visit_tree(self.tree, deque()) if self.tree else ()
 
-    def visit_tree(self, node):
-        yield from self.visit_node(node)
-        self.parents.append(node)
+    def visit_tree(self, node, parents: deque):
+        yield from self.visit_node(node, parents)
+        parents.append(node)
         for child in iter_child_nodes(node):
-            yield from self.visit_tree(child)
-        self.parents.pop()
+            yield from self.visit_tree(child, parents)
+        parents.pop()
 
-    def visit_node(self, node):
+    def visit_node(self, node, parents: Iterable):
         if isinstance(node, ast.ClassDef):
             self.tag_class_functions(node)
         elif isinstance(node, FUNC_NODES):
             self.find_global_defs(node)
 
         method = 'visit_' + node.__class__.__name__.lower()
-        parents = self.parents
         ignore_names = self.ignore_names
         for visitor in self.visitors:
             visitor_method = getattr(visitor, method, None)
@@ -274,14 +257,14 @@
     N818 = "exception name '{name}' should be named with an Error suffix"
 
     @classmethod
-    def get_classdef(cls, name, parents):
+    def get_classdef(cls, name, parents: Iterable):
         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):
+    def superclass_names(cls, name, parents: Iterable, _names=None):
         names = _names or set()
         classdef = cls.get_classdef(name, parents)
         if not classdef:
@@ -292,7 +275,7 @@
                 names.update(cls.superclass_names(base.id, parents, names))
         return names
 
-    def visit_classdef(self, node, parents, ignore=None):
+    def visit_classdef(self, node, parents: Iterable, ignore=None):
         name = node.name
         if _ignored(name, ignore):
             return
@@ -317,13 +300,26 @@
     N802 = "function name '{name}' should be lowercase"
     N807 = "function name '{name}' should not start and end with '__'"
 
-    def visit_functiondef(self, node, parents, ignore=None):
+    @staticmethod
+    def has_override_decorator(node):
+        for d in node.decorator_list:
+            if isinstance(d, ast.Name) and d.id == 'override':
+                return True
+            if (isinstance(d, ast.Attribute) and isinstance(d.value, ast.Name)
+                    and d.value.id == 'typing' and d.attr == 'override'):
+                return True
+        return False
+
+    def visit_functiondef(self, node, parents: Iterable, ignore=None):
         function_type = getattr(node, 'function_type', _FunctionType.FUNCTION)
         name = node.name
         if _ignored(name, ignore):
             return
         if name in ('__dir__', '__getattr__'):
             return
+        if (function_type != _FunctionType.FUNCTION
+                and self.has_override_decorator(node)):
+            return
         if name.lower() != name:
             yield self.err(node, 'N802', name=name)
         if (function_type == _FunctionType.FUNCTION
@@ -345,34 +341,37 @@
     N804 = "first argument of a classmethod should be named 'cls'"
     N805 = "first argument of a method should be named 'self'"
 
-    def visit_functiondef(self, node, parents, ignore=None):
+    def visit_functiondef(self, node, parents: Iterable, ignore=None):
+        args = node.args.posonlyargs + node.args.args + node.args.kwonlyargs
 
-        def arg_name(arg):
-            return (arg, arg.arg) if arg else (node, arg)
-
-        for arg, name in arg_name(node.args.vararg), arg_name(node.args.kwarg):
-            if name is None or _ignored(name, ignore):
-                continue
-            if name.lower() != name:
-                yield self.err(arg, 'N803', name=name)
-                return
-
-        arg_name_tuples = get_arg_name_tuples(node)
-        if not arg_name_tuples:
-            return
-        arg0, name0 = arg_name_tuples[0]
-        function_type = getattr(node, 'function_type', _FunctionType.FUNCTION)
+        # Start by applying checks that are specific to the first argument.
+        #
+        # Note: The `ignore` check shouldn't be necessary here because we'd
+        #       expect users to explicitly ignore N804/N805 when using names
+        #       other than `self` and `cls` rather than ignoring names like
+        #       `klass` to get around these checks. However, a previous
+        #       implementation allowed for that, so we retain that behavior
+        #       for backwards compatibility.
+        if args and (name := args[0].arg) and not _ignored(name, ignore):
+            function_type = getattr(node, 'function_type', None)
+            if function_type == _FunctionType.METHOD and name != 'self':
+                yield self.err(args[0], 'N805')
+            elif function_type == _FunctionType.CLASSMETHOD and name != 'cls':
+                yield self.err(args[0], 'N804')
+
+        # Also add the special *arg and **kwarg arguments for the rest of the
+        # checks when they're present. We didn't include them above because
+        # the "first argument" naming checks shouldn't be applied to them
+        # when they're the function's only argument(s).
+        if node.args.vararg:
+            args.append(node.args.vararg)
+        if node.args.kwarg:
+            args.append(node.args.kwarg)
 
-        if function_type == _FunctionType.METHOD:
-            if name0 != 'self' and not _ignored(name0, ignore):
-                yield self.err(arg0, 'N805')
-        elif function_type == _FunctionType.CLASSMETHOD:
-            if name0 != 'cls' and not _ignored(name0, ignore):
-                yield self.err(arg0, 'N804')
-        for arg, name in arg_name_tuples:
+        for arg in args:
+            name = arg.arg
             if name.lower() != name and not _ignored(name, ignore):
                 yield self.err(arg, 'N803', name=name)
-                return
 
     visit_asyncfunctiondef = visit_functiondef
 
@@ -387,7 +386,7 @@
     N814 = "camelcase '{name}' imported as constant '{asname}'"
     N817 = "camelcase '{name}' imported as acronym '{asname}'"
 
-    def visit_importfrom(self, node, parents, ignore=None):
+    def visit_importfrom(self, node, parents: Iterable, ignore=None):
         for name in node.names:
             asname = name.asname
             if not asname:
@@ -419,7 +418,7 @@
     N815 = "variable '{name}' in class scope should not be mixedCase"
     N816 = "variable '{name}' in global scope should not be mixedCase"
 
-    def _find_errors(self, assignment_target, parents, ignore):
+    def _find_errors(self, assignment_target, parents: Iterable, ignore):
         for parent_func in reversed(parents):
             if isinstance(parent_func, ast.ClassDef):
                 checker = self.class_variable_check
@@ -447,36 +446,36 @@
                     return True
         return False
 
-    def visit_assign(self, node, parents, ignore=None):
+    def visit_assign(self, node, parents: Iterable, ignore=None):
         if self.is_namedtupe(node.value):
             return
         for target in node.targets:
             yield from self._find_errors(target, parents, ignore)
 
-    def visit_namedexpr(self, node, parents, ignore):
+    def visit_namedexpr(self, node, parents: Iterable, ignore):
         if self.is_namedtupe(node.value):
             return
         yield from self._find_errors(node.target, parents, ignore)
 
     visit_annassign = visit_namedexpr
 
-    def visit_with(self, node, parents, ignore):
+    def visit_with(self, node, parents: Iterable, ignore):
         for item in node.items:
             yield from self._find_errors(
                     item.optional_vars, parents, ignore)
 
     visit_asyncwith = visit_with
 
-    def visit_for(self, node, parents, ignore):
+    def visit_for(self, node, parents: Iterable, ignore):
         yield from self._find_errors(node.target, parents, ignore)
 
     visit_asyncfor = visit_for
 
-    def visit_excepthandler(self, node, parents, ignore):
+    def visit_excepthandler(self, node, parents: Iterable, ignore):
         if node.name:
             yield from self._find_errors(node, parents, ignore)
 
-    def visit_generatorexp(self, node, parents, ignore):
+    def visit_generatorexp(self, node, parents: Iterable, ignore):
         for gen in node.generators:
             yield from self._find_errors(gen.target, parents, ignore)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N801.py 
new/pep8-naming-0.14.1/testsuite/N801.py
--- old/pep8-naming-0.13.3/testsuite/N801.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N801.py    2023-10-21 04:24:52.000000000 
+0200
@@ -7,6 +7,9 @@
 #: Okay(--ignore-names=*ok)
 class notok:
     pass
+#: N801:1:7(--ignore-names=*OK)
+class notok:
+    pass
 #: N801
 class Good:
     class notok:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N802.py 
new/pep8-naming-0.14.1/testsuite/N802.py
--- old/pep8-naming-0.13.3/testsuite/N802.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N802.py    2023-10-21 04:24:52.000000000 
+0200
@@ -25,6 +25,9 @@
 #: Okay(--ignore-names=*OK)
 def NotOK():
     pass
+#: N802:1:5(--ignore-names=*ok)
+def NotOK():
+    pass
 #: Okay
 def _():
     pass
@@ -53,6 +56,14 @@
     def notOk(self):
         pass
 #: Okay
+class ClassName:
+    @override
+    def notOk(self):
+        pass
+    @typing.override
+    def alsoNotOk(self):
+        pass
+#: Okay
 def setUp():
     pass
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N803.py 
new/pep8-naming-0.14.1/testsuite/N803.py
--- old/pep8-naming-0.13.3/testsuite/N803.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N803.py    2023-10-21 04:24:52.000000000 
+0200
@@ -40,6 +40,9 @@
 #: Okay(--ignore-names=*BAD)
 def b13(BAD, *VERYBAD, **EXTRABAD):
     pass
+#: N803:1:9(--ignore-names=*bad)
+def b13(BAD):
+    pass
 #: N803:1:9
 def b14(BAD):
     pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N804.py 
new/pep8-naming-0.14.1/testsuite/N804.py
--- old/pep8-naming-0.13.3/testsuite/N804.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N804.py    2023-10-21 04:24:52.000000000 
+0200
@@ -21,6 +21,11 @@
     @classmethod
     def prepare_meta(klass, root):
         pass
+#: N804(--ignore-names=KLASS)
+class SpecialConventionCase:
+    @classmethod
+    def prepare_meta(klass, root):
+        pass
 #: Okay(--ignore-names=_*)
 class SpecialConventionCase:
     @classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N805.py 
new/pep8-naming-0.14.1/testsuite/N805.py
--- old/pep8-naming-0.13.3/testsuite/N805.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N805.py    2023-10-22 03:19:02.000000000 
+0200
@@ -26,6 +26,10 @@
 class GraphQLNode:
     def resolve_foo(source, info):
         pass
+#: N805(--ignore-names=SOURCE)
+class GraphQLNode:
+    def resolve_foo(source, info):
+        pass
 #: Okay
 class Foo:
     def __new__(cls):
@@ -175,3 +179,11 @@
     async def test(so, exciting):
         pass
     test = staticmethod(test)
+#: Okay
+class C:
+    def __init__(self, a, /, b=None):
+        pass
+#: N805:2:18
+class C:
+    def __init__(this, a, /, b=None):
+        pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N805_py38.py 
new/pep8-naming-0.14.1/testsuite/N805_py38.py
--- old/pep8-naming-0.13.3/testsuite/N805_py38.py       2020-04-12 
00:57:21.000000000 +0200
+++ new/pep8-naming-0.14.1/testsuite/N805_py38.py       1970-01-01 
01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-# python_version >= '3.8'
-#: Okay
-class C:
-    def __init__(self, a, /, b=None):
-        pass
-#: N805:2:18
-class C:
-    def __init__(this, a, /, b=None):
-        pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N806.py 
new/pep8-naming-0.14.1/testsuite/N806.py
--- old/pep8-naming-0.13.3/testsuite/N806.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N806.py    2023-10-22 03:19:02.000000000 
+0200
@@ -31,6 +31,9 @@
 #: Okay(--ignore-names=B*)
 def test():
     Bad = 1
+#: N806(--ignore-names=b*)
+def test():
+    Bad = 1
 #: Okay
 def good():
     global Bad
@@ -219,3 +222,21 @@
 async def f():
     async with expr as ASYNC_VAR:
         pass
+#: Okay
+def f1(values):
+    total = 0
+    partial_sums = [total := total + v for v in values]
+    return partial_sums, total
+#: Okay
+GLOBAL_VAR = 0
+def f2(values):
+    global GLOBAL_VAR
+    partial_sums = [GLOBAL_VAR := GLOBAL_VAR + v for v in values]
+    return partial_sums, GLOBAL_VAR
+#: N806:2:16
+def f():
+    return 1, (BaD_WalRuS := 1), BaD_WalRuS + 1
+#: Okay
+def f():
+    (NamedTuple := namedtuple('NamedTuple', 'f1 f2'))
+    return NamedTuple
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N806_py38.py 
new/pep8-naming-0.14.1/testsuite/N806_py38.py
--- old/pep8-naming-0.13.3/testsuite/N806_py38.py       2020-04-12 
00:57:21.000000000 +0200
+++ new/pep8-naming-0.14.1/testsuite/N806_py38.py       1970-01-01 
01:00:00.000000000 +0100
@@ -1,19 +0,0 @@
-# python_version >= '3.8'
-#: Okay
-def f1(values):
-    total = 0
-    partial_sums = [total := total + v for v in values]
-    return partial_sums, total
-#: Okay
-GLOBAL_VAR = 0
-def f2(values):
-    global GLOBAL_VAR
-    partial_sums = [GLOBAL_VAR := GLOBAL_VAR + v for v in values]
-    return partial_sums, GLOBAL_VAR
-#: N806:2:16
-def f():
-    return 1, (BaD_WalRuS := 1), BaD_WalRuS + 1
-#: Okay
-def f():
-    (NamedTuple := namedtuple('NamedTuple', 'f1 f2'))
-    return NamedTuple
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N807.py 
new/pep8-naming-0.14.1/testsuite/N807.py
--- old/pep8-naming-0.13.3/testsuite/N807.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N807.py    2023-10-21 04:24:52.000000000 
+0200
@@ -46,11 +46,14 @@
     def method(self):
         def __bad__():
             pass
-#: Okay(--ignore-names=__bad)
-def __bad():
+#: Okay(--ignore-names=__bad__)
+def __bad__():
     pass
 #: Okay(--ignore-names=__*)
-def __bad():
+def __bad__():
+    pass
+#: N807(--ignore-names=__B*)
+def __bad__():
     pass
 #: Okay
 def __dir__():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N815.py 
new/pep8-naming-0.14.1/testsuite/N815.py
--- old/pep8-naming-0.13.3/testsuite/N815.py    2020-04-12 00:57:21.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N815.py    2023-10-21 04:24:52.000000000 
+0200
@@ -25,3 +25,6 @@
 #: Okay(--ignore-names=*Case)
 class C:
     mixed_Case = 0
+#: N815(--ignore-names=*case)
+class C:
+    mixed_Case = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N816.py 
new/pep8-naming-0.14.1/testsuite/N816.py
--- old/pep8-naming-0.13.3/testsuite/N816.py    2022-08-18 02:19:39.000000000 
+0200
+++ new/pep8-naming-0.14.1/testsuite/N816.py    2023-10-22 03:19:02.000000000 
+0200
@@ -22,6 +22,8 @@
 mixedCase = 0
 #: Okay(--ignore-names=*Case)
 mixedCase = 0
+#: N816(--ignore-names=*case)
+mixedCase = 0
 #: Okay
 Γ = 1
 #: N816
@@ -51,3 +53,7 @@
 #: N816
 async for γΓ1 in iterator:
     pass
+#: Okay
+lambda f: (TheName := namedtuple('TheName', 'a b c')), TheName
+#: N816:1:15:
+lambda line: (BaD_WaLRuS := re.match(pattern, line)) and BaD_WaLRuS.group(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pep8-naming-0.13.3/testsuite/N816_py38.py 
new/pep8-naming-0.14.1/testsuite/N816_py38.py
--- old/pep8-naming-0.13.3/testsuite/N816_py38.py       2020-04-12 
00:57:21.000000000 +0200
+++ new/pep8-naming-0.14.1/testsuite/N816_py38.py       1970-01-01 
01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-# python_version >= '3.8'
-#: Okay
-lambda f: (TheName := namedtuple('TheName', 'a b c')), TheName
-#: N816:1:15:
-lambda line: (BaD_WaLRuS := re.match(pattern, line)) and BaD_WaLRuS.group(1)

Reply via email to