mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-06 21:16:54 +00:00
Incorporate patch review on Flake8Command
* add a note about the setuptools command to README * don't install the Flake8Command entry point without setuptools * fix a bug in Flake8Command that might cause double checking of files in 'packages'
This commit is contained in:
parent
2e04e30d51
commit
c6ac38cd70
3 changed files with 44 additions and 9 deletions
|
|
@ -35,6 +35,7 @@ def check_code(code, complexity=-1):
|
|||
|
||||
|
||||
def _get_python_files(paths):
|
||||
seen = set()
|
||||
for path in paths:
|
||||
if os.path.isdir(path):
|
||||
for dirpath, dirnames, filenames in os.walk(path):
|
||||
|
|
@ -42,11 +43,11 @@ def _get_python_files(paths):
|
|||
if not filename.endswith('.py'):
|
||||
continue
|
||||
fullpath = os.path.join(dirpath, filename)
|
||||
if not skip_file(fullpath):
|
||||
if not skip_file(fullpath) and fullpath not in seen:
|
||||
yield fullpath
|
||||
|
||||
else:
|
||||
if not skip_file(path):
|
||||
if not skip_file(path) and path not in seen:
|
||||
yield path
|
||||
|
||||
|
||||
|
|
@ -183,7 +184,7 @@ else:
|
|||
def distribution_files(self):
|
||||
if self.distribution.packages:
|
||||
for package in self.distribution.packages:
|
||||
yield package
|
||||
yield package.replace(".", os.path.sep)
|
||||
|
||||
if self.distribution.py_modules:
|
||||
for filename in self.distribution.py_modules:
|
||||
|
|
@ -192,9 +193,16 @@ else:
|
|||
def run(self):
|
||||
_initpep8()
|
||||
|
||||
# _get_python_files can produce the same file several
|
||||
# times, if one of its paths is a parent of another. Keep
|
||||
# a set of checked files to de-duplicate.
|
||||
checked = set()
|
||||
|
||||
warnings = 0
|
||||
for path in _get_python_files(self.distribution_files()):
|
||||
warnings += check_file(path)
|
||||
if path not in checked:
|
||||
warnings += check_file(path)
|
||||
checked.add(path)
|
||||
|
||||
raise SystemExit(warnings > 0)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue