mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-29 10:36:53 +00:00
Merge branch 'performance_style_guide_for' into 'master'
Fix performance regression with per-file-ignores Closes #501 See merge request pycqa/flake8!299
This commit is contained in:
commit
59fdc5250c
3 changed files with 8 additions and 9 deletions
|
|
@ -11,6 +11,7 @@ requires-dist =
|
|||
enum34; python_version<"3.4"
|
||||
typing; python_version<"3.5"
|
||||
configparser; python_version<"3.2"
|
||||
functools32; python_version<"3.2"
|
||||
entrypoints >= 0.3.0, < 0.4.0
|
||||
pyflakes >= 2.1.0, < 2.2.0
|
||||
pycodestyle >= 2.5.0, < 2.6.0
|
||||
|
|
|
|||
2
setup.py
2
setup.py
|
|
@ -28,7 +28,7 @@ requires = [
|
|||
extras_require = {
|
||||
":python_version<'3.4'": ['enum34'],
|
||||
":python_version<'3.5'": ['typing'],
|
||||
":python_version<'3.2'": ['configparser'],
|
||||
":python_version<'3.2'": ['configparser', 'functools32'],
|
||||
}
|
||||
|
||||
if int(setuptools.__version__.split('.')[0]) < 18:
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ import collections
|
|||
import contextlib
|
||||
import copy
|
||||
import enum
|
||||
import functools
|
||||
import itertools
|
||||
import linecache
|
||||
import logging
|
||||
import sys
|
||||
from typing import Optional, Union # noqa: F401 (until flake8 3.7)
|
||||
|
||||
from flake8 import defaults
|
||||
|
|
@ -18,13 +18,10 @@ __all__ = ("StyleGuide",)
|
|||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
try:
|
||||
lru_cache = functools.lru_cache
|
||||
except AttributeError:
|
||||
|
||||
def lru_cache(maxsize=128, typed=False):
|
||||
"""Stub for missing lru_cache."""
|
||||
return lambda func: func
|
||||
if sys.version_info < (3, 2):
|
||||
from functools32 import lru_cache
|
||||
else:
|
||||
from functools import lru_cache
|
||||
|
||||
|
||||
# TODO(sigmavirus24): Determine if we need to use enum/enum34
|
||||
|
|
@ -366,6 +363,7 @@ class StyleGuideManager(object):
|
|||
filename=filename, extend_ignore_with=violations
|
||||
)
|
||||
|
||||
@lru_cache(maxsize=None)
|
||||
def style_guide_for(self, filename):
|
||||
"""Find the StyleGuide for the filename in particular."""
|
||||
guides = sorted(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue