From e197ca42eb049ae0269cb309815a939896d8ed0ac32bd22fa395336f7f0deeca Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Mon, 7 Feb 2022 04:05:24 +0000 Subject: [PATCH] - 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. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pep8-naming?expand=0&rev=21 --- add-missing-option-for-testsuite.patch | 22 ++ pep8-naming-0.11.1.tar.gz | 3 - pep8-naming-0.12.1.tar.gz | 3 + pep8-naming-pr157-exception-names.patch | 389 ------------------------ python-pep8-naming.changes | 12 + python-pep8-naming.spec | 8 +- 6 files changed, 40 insertions(+), 397 deletions(-) create mode 100644 add-missing-option-for-testsuite.patch delete mode 100644 pep8-naming-0.11.1.tar.gz create mode 100644 pep8-naming-0.12.1.tar.gz delete mode 100644 pep8-naming-pr157-exception-names.patch diff --git a/add-missing-option-for-testsuite.patch b/add-missing-option-for-testsuite.patch new file mode 100644 index 0000000..fc358de --- /dev/null +++ b/add-missing-option-for-testsuite.patch @@ -0,0 +1,22 @@ +From 03b8f36f6a8bb8bc79dfa5a71ad9be2a0bf8bbf5 Mon Sep 17 00:00:00 2001 +From: Ian Stapleton Cordasco +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=[]) diff --git a/pep8-naming-0.11.1.tar.gz b/pep8-naming-0.11.1.tar.gz deleted file mode 100644 index fc8c04b..0000000 --- a/pep8-naming-0.11.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1dd47dd243adfe8a83616e27cf03164960b507530f155db94e10b36a6cd6724 -size 15531 diff --git a/pep8-naming-0.12.1.tar.gz b/pep8-naming-0.12.1.tar.gz new file mode 100644 index 0000000..da1d452 --- /dev/null +++ b/pep8-naming-0.12.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb2455947757d162aa4cad55dba4ce029005cd1692f2899a21d51d8630ca7841 +size 17360 diff --git a/pep8-naming-pr157-exception-names.patch b/pep8-naming-pr157-exception-names.patch deleted file mode 100644 index 95550fd..0000000 --- a/pep8-naming-pr157-exception-names.patch +++ /dev/null @@ -1,389 +0,0 @@ -From 6bf0c05176686a5c9d74da3eb8f48d16a3e07742 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Tue, 15 Sep 2020 00:08:28 -0300 -Subject: [PATCH 01/11] Set N818 to check error suffix on exception names. - ---- - README.rst | 2 ++ - src/pep8ext_naming.py | 23 ++++++++++++++++++++++- - testsuite/N818.py | 30 ++++++++++++++++++++++++++++++ - 3 files changed, 54 insertions(+), 1 deletion(-) - create mode 100644 testsuite/N818.py - -diff --git a/README.rst b/README.rst -index 9832ea1..4009e38 100644 ---- a/README.rst -+++ b/README.rst -@@ -70,6 +70,8 @@ These error codes are emitted: - +------+-------------------------------------------------------+ - | N817 | camelcase imported as acronym | - +------+-------------------------------------------------------+ -+| N818 | error suffix in exception names | -++------+-------------------------------------------------------+ - - Options - ------- -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index 51d60f5..37bb799 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -11,7 +11,7 @@ - - try: - import ast -- from ast import iter_child_nodes -+ from ast import iter_child_nodes, ClassDef - except ImportError: - from flake8.util import ast, iter_child_nodes - -@@ -291,6 +291,24 @@ class ClassNameCheck(BaseASTCheck): - Classes for internal use have a leading underscore in addition. - """ - N801 = "class name '{name}' should use CapWords convention" -+ N818 = "class name '{name}' should use Error suffix as it is an Exception" -+ -+ def get_class_def(self, name, parents): -+ for parent in parents: -+ for class_def in parent.body: -+ if isinstance(class_def, ClassDef) and class_def.name == name: -+ return class_def -+ -+ def superclass_names(self, name, parents): -+ class_def = self.get_class_def(name, parents) -+ if not class_def: -+ return [] -+ class_ids = [] -+ for base in class_def.bases: -+ if hasattr(base, "id"): -+ class_ids += [base.id] -+ class_ids += self.superclass_names(base.id, parents) -+ return class_ids - - def visit_classdef(self, node, parents, ignore=None): - name = node.name -@@ -299,6 +317,9 @@ def visit_classdef(self, node, parents, ignore=None): - 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 name[-5:] != "Error": -+ yield self.err(node, 'N818', name=name) - - - class FunctionNameCheck(BaseASTCheck): -diff --git a/testsuite/N818.py b/testsuite/N818.py -new file mode 100644 -index 0000000..28fe432 ---- /dev/null -+++ b/testsuite/N818.py -@@ -0,0 +1,30 @@ -+#: 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 - -From 6085ac9690560eb56aae05bc9486d9ed72c79bf2 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Thu, 17 Sep 2020 14:35:50 -0300 -Subject: [PATCH 02/11] Remove import of ClassDef. - ---- - src/pep8ext_naming.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index 37bb799..332656e 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -11,7 +11,7 @@ - - try: - import ast -- from ast import iter_child_nodes, ClassDef -+ from ast import iter_child_nodes - except ImportError: - from flake8.util import ast, iter_child_nodes - -@@ -296,7 +296,7 @@ class ClassNameCheck(BaseASTCheck): - def get_class_def(self, name, parents): - for parent in parents: - for class_def in parent.body: -- if isinstance(class_def, ClassDef) and class_def.name == name: -+ if isinstance(class_def, ast.ClassDef) and class_def.name == name: - return class_def - - def superclass_names(self, name, parents): - -From 84adbbaeac42e2299552b7209110c3a56d04b254 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Thu, 17 Sep 2020 14:45:08 -0300 -Subject: [PATCH 03/11] Improve variable names. - ---- - src/pep8ext_naming.py | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index 332656e..c1f1fb3 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -295,9 +295,10 @@ class ClassNameCheck(BaseASTCheck): - - def get_class_def(self, name, parents): - for parent in parents: -- for class_def in parent.body: -- if isinstance(class_def, ast.ClassDef) and class_def.name == name: -- return class_def -+ for definition in parent.body: -+ class_definition = isinstance(definition, ast.ClassDef) -+ if class_definition and definition.name == name: -+ return definition - - def superclass_names(self, name, parents): - class_def = self.get_class_def(name, parents) - -From 59c1e6ef4ad5c94dcaa3a069e8956ef0887dafa8 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Thu, 19 Nov 2020 14:19:48 -0300 -Subject: [PATCH 04/11] Transform class_ids list into a set as suggested. - ---- - src/pep8ext_naming.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index c1f1fb3..c0f598d 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -301,14 +301,14 @@ def get_class_def(self, name, parents): - return definition - - def superclass_names(self, name, parents): -+ class_ids = set() - class_def = self.get_class_def(name, parents) - if not class_def: -- return [] -- class_ids = [] -+ return class_ids - for base in class_def.bases: - if hasattr(base, "id"): -- class_ids += [base.id] -- class_ids += self.superclass_names(base.id, parents) -+ class_ids.add(base.id) -+ class_ids.update(self.superclass_names(base.id, parents)) - return class_ids - - def visit_classdef(self, node, parents, ignore=None): - -From 3c3ecdf0a132f4150a5d674f2a96d5f4296ca97a Mon Sep 17 00:00:00 2001 -From: eloy -Date: Thu, 19 Nov 2020 14:42:21 -0300 -Subject: [PATCH 05/11] Add spaces after commas. - ---- - testsuite/N818.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/testsuite/N818.py b/testsuite/N818.py -index 28fe432..1d0ae10 100644 ---- a/testsuite/N818.py -+++ b/testsuite/N818.py -@@ -19,12 +19,12 @@ class MixinError(Exception): - pass - class Mixin: - pass --class MixinActionError(Mixin,MixinError): -+class MixinActionError(Mixin, MixinError): - pass - #: N818 - class MixinError(Exception): - pass - class Mixin: - pass --class MixinActionClass(Mixin,MixinError): -+class MixinActionClass(Mixin, MixinError): - pass - -From 364fb2547d8054dfe90af2d238c7118a75c7d902 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Tue, 5 Jan 2021 17:51:31 -0300 -Subject: [PATCH 06/11] Make N818's message more actionable. - ---- - src/pep8ext_naming.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index c0f598d..e9dad23 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -291,7 +291,7 @@ class ClassNameCheck(BaseASTCheck): - Classes for internal use have a leading underscore in addition. - """ - N801 = "class name '{name}' should use CapWords convention" -- N818 = "class name '{name}' should use Error suffix as it is an Exception" -+ N818 = "exception name '{name}' should be named with an Error suffix" - - def get_class_def(self, name, parents): - for parent in parents: - -From eb50e59d675b678a7ff38f609d339562d5a2030c Mon Sep 17 00:00:00 2001 -From: eloy -Date: Tue, 5 Jan 2021 17:53:47 -0300 -Subject: [PATCH 07/11] Rename class_definition as is_class_definition to keep - the name consistency. - ---- - src/pep8ext_naming.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index e9dad23..fdb22d2 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -296,8 +296,8 @@ class ClassNameCheck(BaseASTCheck): - def get_class_def(self, name, parents): - for parent in parents: - for definition in parent.body: -- class_definition = isinstance(definition, ast.ClassDef) -- if class_definition and definition.name == name: -+ is_class_definition = isinstance(definition, ast.ClassDef) -+ if is_class_definition and definition.name == name: - return definition - - def superclass_names(self, name, parents): - -From 2430287c6ac14613328ca6fc4341da5fc5c6f224 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Tue, 5 Jan 2021 17:58:46 -0300 -Subject: [PATCH 08/11] Reduce complexity of a comparison with an 'endswith' - method call. - ---- - src/pep8ext_naming.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index fdb22d2..9f34343 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -319,7 +319,7 @@ def visit_classdef(self, node, parents, ignore=None): - 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 name[-5:] != "Error": -+ if "Exception" in superclasses and not name.endswith("Error"): - yield self.err(node, 'N818', name=name) - - - -From b562e5a512591d6a45dd94b96768a81b270a6a79 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Sun, 14 Feb 2021 18:34:35 -0300 -Subject: [PATCH 09/11] Make N818 ignored by default. - ---- - run_tests.py | 4 ++++ - src/pep8ext_naming.py | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/run_tests.py b/run_tests.py -index 289af23..1cb092f 100644 ---- a/run_tests.py -+++ b/run_tests.py -@@ -75,6 +75,10 @@ class OptionsManager(optparse.OptionParser): - 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): -diff --git a/src/pep8ext_naming.py b/src/pep8ext_naming.py -index 9f34343..2037435 100644 ---- a/src/pep8ext_naming.py -+++ b/src/pep8ext_naming.py -@@ -167,6 +167,7 @@ def add_options(cls, parser): - 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): - -From 0117e40f643aa7ff8338a039e25e835837eb1090 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Sat, 17 Apr 2021 10:57:04 -0300 -Subject: [PATCH 10/11] Set requirement flake8 >= 3.9.1 - ---- - setup.py | 2 +- - tox.ini | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/setup.py b/setup.py -index 1e94ea8..8fd4807 100644 ---- a/setup.py -+++ b/setup.py -@@ -44,7 +44,7 @@ def run_tests(self): - 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': [ - -From 6d62db81d7967e123e29673a4796fefec6f06d26 Mon Sep 17 00:00:00 2001 -From: eloy -Date: Sat, 17 Apr 2021 10:59:26 -0300 -Subject: [PATCH 11/11] Improve tox call to include an empty list for - extended-default-ignore. - ---- - run_tests.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/run_tests.py b/run_tests.py -index 1cb092f..64d80b5 100644 ---- a/run_tests.py -+++ b/run_tests.py -@@ -89,6 +89,7 @@ def parse_options(checker, options): - 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 --git a/python-pep8-naming.changes b/python-pep8-naming.changes index 0f625e5..00b3971 100644 --- a/python-pep8-naming.changes +++ b/python-pep8-naming.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Feb 7 04:03:47 UTC 2022 - Steve Kowalik + +- 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. + ------------------------------------------------------------------- Fri Jun 18 08:02:57 UTC 2021 - Ben Greiner diff --git a/python-pep8-naming.spec b/python-pep8-naming.spec index 5e19fb1..84a4898 100644 --- a/python-pep8-naming.spec +++ b/python-pep8-naming.spec @@ -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