Revert "Fix: no longer shows folders recursively to root"

This reverts commit 03b4177d3d.
This commit is contained in:
Sam Roeca
2019-11-29 20:11:23 -05:00
parent 03b4177d3d
commit 4bc4f167e9
2 changed files with 6 additions and 25 deletions

View File

@@ -110,10 +110,7 @@ class Project(object):
suffixed += discover_buildout_paths(inference_state, inference_state.script_path)
if add_parent_paths:
traversed = list(traverse_parents(
inference_state.script_path,
root=self._path,
))
traversed = list(traverse_parents(inference_state.script_path))
# AFAIK some libraries have imports like `foo.foo.bar`, which
# leads to the conclusion to by default prefer longer paths

View File

@@ -2,31 +2,15 @@ import os
from contextlib import contextmanager
def traverse_parents(path, root=None, include_current=False):
"""Iterate directories from a path to search root
:path: the path of the script/directory to check.
:root: the root of the upward search. Assumes the system root if root is
None.
:include_current: includes the current file / directory.
If the root path is not a substring of the provided path, assume the root
search path as well.
"""
def traverse_parents(path, include_current=False):
if not include_current:
path = os.path.dirname(path)
previous = None
if root is None or not path.startswith(root):
while previous != path:
yield path
previous = path
path = os.path.dirname(path)
else:
while previous != root:
yield path
previous = path
path = os.path.dirname(path)
@contextmanager