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
+
+- 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)