mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-04 04:06:54 +00:00
Merge branch 'bug/181' into 'master'
Fix project config file discovery *Description of changes* Keep searching past the current directory to find project config files. *Related to:* #181 See merge request !91
This commit is contained in:
commit
99602828c7
5 changed files with 22 additions and 27 deletions
|
|
@ -1,5 +1,5 @@
|
|||
3.0.1 -- 2016-07-25
|
||||
-------------------
|
||||
3.0.1 -- 2016-07-25 (unreleased)
|
||||
--------------------------------
|
||||
|
||||
- Fix regression in handling of ``# noqa`` for multiline strings.
|
||||
(See also `GitLab#177`_)
|
||||
|
|
|
|||
9
docs/source/release-notes/3.0.2.rst
Normal file
9
docs/source/release-notes/3.0.2.rst
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
3.0.2 -- 2016-07-26
|
||||
-------------------
|
||||
|
||||
- Fix local config file discovery. (See also `GitLab#181`_)
|
||||
|
||||
|
||||
.. links
|
||||
.. _GitLab#181:
|
||||
https://gitlab.com/pycqa/flake8/issues/181
|
||||
|
|
@ -6,6 +6,7 @@ All of the release notes that have been recorded for Flake8 are organized here
|
|||
with the newest releases first.
|
||||
|
||||
.. toctree::
|
||||
3.0.2
|
||||
3.0.1
|
||||
3.0.0
|
||||
2.6.2
|
||||
|
|
|
|||
|
|
@ -43,8 +43,6 @@ class ConfigFileFinder(object):
|
|||
# List of filenames to find in the local/project directory
|
||||
self.project_filenames = ('setup.cfg', 'tox.ini', self.program_config)
|
||||
|
||||
self.local_directory = os.path.abspath(os.curdir)
|
||||
|
||||
if not args:
|
||||
args = ['.']
|
||||
self.parent = self.tail = os.path.abspath(os.path.commonprefix(args))
|
||||
|
|
@ -72,14 +70,14 @@ class ConfigFileFinder(object):
|
|||
"""Find and generate all local config files."""
|
||||
tail = self.tail
|
||||
parent = self.parent
|
||||
local_dir = self.local_directory
|
||||
while tail:
|
||||
found_config_files = False
|
||||
while tail and not found_config_files:
|
||||
for project_filename in self.project_filenames:
|
||||
filename = os.path.abspath(os.path.join(parent,
|
||||
project_filename))
|
||||
yield filename
|
||||
if parent == local_dir:
|
||||
break
|
||||
if os.path.exists(filename):
|
||||
yield filename
|
||||
found_config_files = True
|
||||
(parent, tail) = os.path.split(parent)
|
||||
|
||||
def local_config_files(self):
|
||||
|
|
@ -99,7 +97,6 @@ class ConfigFileFinder(object):
|
|||
return [
|
||||
filename
|
||||
for filename in self.generate_possible_local_files()
|
||||
if os.path.exists(filename)
|
||||
] + [f for f in self.extra_config_files if exists(f)]
|
||||
|
||||
def local_configs(self):
|
||||
|
|
|
|||
|
|
@ -43,27 +43,15 @@ def test_cli_config():
|
|||
# No arguments, common prefix of abspath('.')
|
||||
([],
|
||||
[os.path.abspath('setup.cfg'),
|
||||
os.path.abspath('tox.ini'),
|
||||
os.path.abspath('.flake8')]),
|
||||
os.path.abspath('tox.ini')]),
|
||||
# Common prefix of "flake8/"
|
||||
(['flake8/options', 'flake8/'],
|
||||
[os.path.abspath('flake8/setup.cfg'),
|
||||
os.path.abspath('flake8/tox.ini'),
|
||||
os.path.abspath('flake8/.flake8'),
|
||||
os.path.abspath('setup.cfg'),
|
||||
os.path.abspath('tox.ini'),
|
||||
os.path.abspath('.flake8')]),
|
||||
[os.path.abspath('setup.cfg'),
|
||||
os.path.abspath('tox.ini')]),
|
||||
# Common prefix of "flake8/options"
|
||||
(['flake8/options', 'flake8/options/sub'],
|
||||
[os.path.abspath('flake8/options/setup.cfg'),
|
||||
os.path.abspath('flake8/options/tox.ini'),
|
||||
os.path.abspath('flake8/options/.flake8'),
|
||||
os.path.abspath('flake8/setup.cfg'),
|
||||
os.path.abspath('flake8/tox.ini'),
|
||||
os.path.abspath('flake8/.flake8'),
|
||||
os.path.abspath('setup.cfg'),
|
||||
os.path.abspath('tox.ini'),
|
||||
os.path.abspath('.flake8')]),
|
||||
[os.path.abspath('setup.cfg'),
|
||||
os.path.abspath('tox.ini')]),
|
||||
])
|
||||
def test_generate_possible_local_files(args, expected):
|
||||
"""Verify generation of all possible config paths."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue