Hello community, here is the log from the commit of package python-flake8 for openSUSE:Factory checked in at 2019-02-26 22:15:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-flake8 (Old) and /work/SRC/openSUSE:Factory/.python-flake8.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-flake8" Tue Feb 26 22:15:26 2019 rev:23 rq:678215 version:3.7.6 Changes: -------- --- /work/SRC/openSUSE:Factory/python-flake8/python-flake8.changes 2019-02-14 14:12:17.776253104 +0100 +++ /work/SRC/openSUSE:Factory/.python-flake8.new.28833/python-flake8.changes 2019-02-26 22:15:29.558209433 +0100 @@ -1,0 +2,7 @@ +Thu Feb 21 18:42:26 UTC 2019 - John Vandenberg <[email protected]> + +- Update to v3.7.6 + * Fix ``--per-file-ignores`` for multi-letter error codes + * Improve flake8 speed when only 1 filename is passed + +------------------------------------------------------------------- Old: ---- flake8-3.7.5.tar.gz New: ---- flake8-3.7.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-flake8.spec ++++++ --- /var/tmp/diff_new_pack.0zufXw/_old 2019-02-26 22:15:30.698209045 +0100 +++ /var/tmp/diff_new_pack.0zufXw/_new 2019-02-26 22:15:30.738209032 +0100 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %bcond_without python2 Name: python-flake8 -Version: 3.7.5 +Version: 3.7.6 Release: 0 Summary: Modular source code checker: pep8, pyflakes and co License: MIT ++++++ flake8-3.7.5.tar.gz -> flake8-3.7.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/PKG-INFO new/flake8-3.7.6/PKG-INFO --- old/flake8-3.7.5/PKG-INFO 2019-02-04 17:37:44.000000000 +0100 +++ new/flake8-3.7.6/PKG-INFO 2019-02-18 21:00:44.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: flake8 -Version: 3.7.5 +Version: 3.7.6 Summary: the modular source code checker: pep8, pyflakes and co Home-page: https://gitlab.com/pycqa/flake8 Author: Tarek Ziade diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/docs/source/release-notes/3.7.6.rst new/flake8-3.7.6/docs/source/release-notes/3.7.6.rst --- old/flake8-3.7.5/docs/source/release-notes/3.7.6.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/flake8-3.7.6/docs/source/release-notes/3.7.6.rst 2019-02-18 20:56:17.000000000 +0100 @@ -0,0 +1,27 @@ +3.7.6 -- 2019-02-18 +------------------- + +You can view the `3.7.6 milestone`_ on GitLab for more details. + +Bugs Fixed +~~~~~~~~~~ + +- Fix ``--per-file-ignores`` for multi-letter error codes (See also + `GitLab!303`_, `GitLab#507`_) + +- Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_) + + +.. all links +.. _3.7.6 milestone: + https://gitlab.com/pycqa/flake8/milestones/29 + +.. issue links +.. _GitLab#507: + https://gitlab.com/pycqa/flake8/issues/507 + +.. merge request links +.. _GitLab!303: + https://gitlab.com/pycqa/flake8/merge_requests/303 +.. _GitLab!305: + https://gitlab.com/pycqa/flake8/merge_requests/305 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/docs/source/release-notes/index.rst new/flake8-3.7.6/docs/source/release-notes/index.rst --- old/flake8-3.7.5/docs/source/release-notes/index.rst 2019-02-04 17:33:44.000000000 +0100 +++ new/flake8-3.7.6/docs/source/release-notes/index.rst 2019-02-18 20:53:01.000000000 +0100 @@ -9,6 +9,7 @@ ================== .. toctree:: + 3.7.6 3.7.5 3.7.4 3.7.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/docs/source/user/options.rst new/flake8-3.7.6/docs/source/user/options.rst --- old/flake8-3.7.5/docs/source/user/options.rst 2019-01-29 00:49:38.000000000 +0100 +++ new/flake8-3.7.6/docs/source/user/options.rst 2019-02-17 17:31:46.000000000 +0100 @@ -399,7 +399,7 @@ need only specify ``W23`` to ignore them. This also works for ``W2`` and ``W`` (for example). - This defaults to: ``E121,E123,E126,E226,E24,E704`` + This defaults to: ``E121,E123,E126,E226,E24,E704,W503,W504`` Command-line example: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8/__init__.py new/flake8-3.7.6/src/flake8/__init__.py --- old/flake8-3.7.5/src/flake8/__init__.py 2019-02-04 17:33:36.000000000 +0100 +++ new/flake8-3.7.6/src/flake8/__init__.py 2019-02-18 20:52:52.000000000 +0100 @@ -15,7 +15,7 @@ LOG = logging.getLogger(__name__) LOG.addHandler(logging.NullHandler()) -__version__ = "3.7.5" +__version__ = "3.7.6" __version_info__ = tuple( int(i) for i in __version__.split(".") if i.isdigit() ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8/checker.py new/flake8-3.7.6/src/flake8/checker.py --- old/flake8-3.7.5/src/flake8/checker.py 2019-02-04 17:33:16.000000000 +0100 +++ new/flake8-3.7.6/src/flake8/checker.py 2019-02-17 17:31:46.000000000 +0100 @@ -5,7 +5,7 @@ import signal import sys import tokenize -from typing import List, Optional +from typing import List, Optional, Tuple try: import multiprocessing @@ -73,7 +73,6 @@ self.options = style_guide.options self.checks = checker_plugins self.jobs = self._job_count() - self.using_multiprocessing = self.jobs > 1 self.processes = [] self.checkers = [] self.statistics = { @@ -247,7 +246,7 @@ LOG.info("Checking %d files", len(self.checkers)) def report(self): - # type: () -> (int, int) + # type: () -> Tuple[int, int] """Report all of the errors found in the managed file checkers. This iterates over each of the checkers and reports the errors sorted @@ -279,7 +278,6 @@ except OSError as oserr: if oserr.errno not in SERIAL_RETRY_ERRNOS: raise - self.using_multiprocessing = False self.run_serial() return @@ -326,16 +324,10 @@ fallback to serial processing. """ try: - if self.using_multiprocessing: + if self.jobs > 1 and len(self.checkers) > 1: self.run_parallel() else: self.run_serial() - except OSError as oserr: - if oserr.errno not in SERIAL_RETRY_ERRNOS: - LOG.exception(oserr) - raise - LOG.warning("Running in serial after OS exception, %r", oserr) - self.run_serial() except KeyboardInterrupt: LOG.warning("Flake8 was interrupted by the user") raise exceptions.EarlyQuit("Early quit while running checks") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8/main/application.py new/flake8-3.7.6/src/flake8/main/application.py --- old/flake8-3.7.5/src/flake8/main/application.py 2019-02-04 17:33:16.000000000 +0100 +++ new/flake8-3.7.6/src/flake8/main/application.py 2019-02-17 17:31:46.000000000 +0100 @@ -4,7 +4,7 @@ import logging import sys import time -from typing import List, Optional, Sequence +from typing import List, Optional import flake8 from flake8 import checker @@ -99,6 +99,7 @@ self.parsed_diff = {} def parse_preliminary_options_and_args(self, argv=None): + # type: (Optional[List[str]]) -> None """Get preliminary options and args from CLI, pre-plugin-loading. We need to know the values of a few standard options and args now, so @@ -347,7 +348,7 @@ self.formatter.show_statistics(self.guide.stats) def initialize(self, argv): - # type: (Sequence[str]) -> None + # type: (Optional[List[str]]) -> None """Initialize the application to be run. This finds the plugins, registers their options, and parses the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8/plugins/pyflakes.py new/flake8-3.7.6/src/flake8/plugins/pyflakes.py --- old/flake8-3.7.5/src/flake8/plugins/pyflakes.py 2019-02-04 17:33:16.000000000 +0100 +++ new/flake8-3.7.6/src/flake8/plugins/pyflakes.py 2019-02-17 17:31:46.000000000 +0100 @@ -53,16 +53,6 @@ } -def patch_pyflakes(): - """Add error codes to Pyflakes messages.""" - for name, obj in vars(pyflakes.messages).items(): - if name[0].isupper() and obj.message: - obj.flake8_code = FLAKE8_PYFLAKES_CODES.get(name, "F999") - - -patch_pyflakes() - - class FlakesChecker(pyflakes.checker.Checker): """Subclass the Pyflakes checker to conform with the flake8 API.""" @@ -186,7 +176,7 @@ message.lineno, col, "{} {}".format( - message.flake8_code, + FLAKE8_PYFLAKES_CODES.get(type(message).__name__, "F999"), message.message % message.message_args, ), message.__class__, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8/utils.py new/flake8-3.7.6/src/flake8/utils.py --- old/flake8-3.7.5/src/flake8/utils.py 2019-02-04 17:33:16.000000000 +0100 +++ new/flake8-3.7.6/src/flake8/utils.py 2019-02-17 17:31:46.000000000 +0100 @@ -8,8 +8,8 @@ import re import sys import tokenize -from typing import Callable, Dict, Generator, List, Pattern, Sequence, Tuple -from typing import Union +from typing import Callable, Dict, Generator, List, Pattern, Sequence, Set +from typing import Tuple, Union from flake8 import exceptions @@ -51,7 +51,7 @@ _CODE, _FILE, _COLON, _COMMA, _WS = "code", "file", "colon", "comma", "ws" _EOF = "eof" _FILE_LIST_TOKEN_TYPES = [ - (re.compile(r"[A-Z][0-9]*(?=$|\s|,)"), _CODE), + (re.compile(r"[A-Z]+[0-9]*(?=$|\s|,)"), _CODE), (re.compile(r"[^\s:,]+"), _FILE), (re.compile(r"\s*:\s*"), _COLON), (re.compile(r"\s*,\s*"), _COMMA), @@ -217,7 +217,7 @@ def parse_unified_diff(diff=None): - # type: (str) -> List[str] + # type: (str) -> Dict[str, Set[int]] """Parse the unified diff passed on stdin. :returns: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8.egg-info/PKG-INFO new/flake8-3.7.6/src/flake8.egg-info/PKG-INFO --- old/flake8-3.7.5/src/flake8.egg-info/PKG-INFO 2019-02-04 17:37:44.000000000 +0100 +++ new/flake8-3.7.6/src/flake8.egg-info/PKG-INFO 2019-02-18 21:00:43.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: flake8 -Version: 3.7.5 +Version: 3.7.6 Summary: the modular source code checker: pep8, pyflakes and co Home-page: https://gitlab.com/pycqa/flake8 Author: Tarek Ziade diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/src/flake8.egg-info/SOURCES.txt new/flake8-3.7.6/src/flake8.egg-info/SOURCES.txt --- old/flake8-3.7.5/src/flake8.egg-info/SOURCES.txt 2019-02-04 17:37:44.000000000 +0100 +++ new/flake8-3.7.6/src/flake8.egg-info/SOURCES.txt 2019-02-18 21:00:43.000000000 +0100 @@ -85,6 +85,7 @@ docs/source/release-notes/3.7.3.rst docs/source/release-notes/3.7.4.rst docs/source/release-notes/3.7.5.rst +docs/source/release-notes/3.7.6.rst docs/source/release-notes/index.rst docs/source/user/configuration.rst docs/source/user/error-codes.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/tests/unit/test_checker_manager.py new/flake8-3.7.6/tests/unit/test_checker_manager.py --- old/flake8-3.7.5/tests/unit/test_checker_manager.py 2019-01-30 23:52:39.000000000 +0100 +++ new/flake8-3.7.6/tests/unit/test_checker_manager.py 2019-02-17 17:31:46.000000000 +0100 @@ -16,27 +16,33 @@ return style_guide +def _parallel_checker_manager(): + """Call Manager.run() and return the number of calls to `run_serial`.""" + style_guide = style_guide_mock() + manager = checker.Manager(style_guide, [], []) + # multiple checkers is needed for parallel mode + manager.checkers = [mock.Mock(), mock.Mock()] + return manager + + def test_oserrors_cause_serial_fall_back(): """Verify that OSErrors will cause the Manager to fallback to serial.""" err = OSError(errno.ENOSPC, 'Ominous message about spaceeeeee') - style_guide = style_guide_mock() with mock.patch('_multiprocessing.SemLock', side_effect=err): - manager = checker.Manager(style_guide, [], []) + manager = _parallel_checker_manager() with mock.patch.object(manager, 'run_serial') as serial: manager.run() assert serial.call_count == 1 - assert manager.using_multiprocessing is False @mock.patch('flake8.utils.is_windows', return_value=False) def test_oserrors_are_reraised(is_windows): """Verify that unexpected OSErrors will cause the Manager to reraise.""" err = OSError(errno.EAGAIN, 'Ominous message') - style_guide = style_guide_mock() with mock.patch('_multiprocessing.SemLock', side_effect=err): - with pytest.raises(OSError): - manager = checker.Manager(style_guide, [], []) - with mock.patch.object(manager, 'run_serial') as serial: + manager = _parallel_checker_manager() + with mock.patch.object(manager, 'run_serial') as serial: + with pytest.raises(OSError): manager.run() assert serial.call_count == 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/flake8-3.7.5/tests/unit/test_utils.py new/flake8-3.7.6/tests/unit/test_utils.py --- old/flake8-3.7.5/tests/unit/test_utils.py 2019-02-04 17:33:16.000000000 +0100 +++ new/flake8-3.7.6/tests/unit/test_utils.py 2019-02-17 17:31:46.000000000 +0100 @@ -90,6 +90,11 @@ ['f.py:E,F', 'g.py:G,H'], [('f.py', ['E', 'F']), ('g.py', ['G', 'H'])], ), + # six-digits codes are allowed + ( + 'f.py: ABC123', + [('f.py', ['ABC123'])], + ) ), ) def test_parse_files_to_codes_mapping(value, expected):
