diff options
author | Brett Cannon <brett@python.org> | 2016-04-08 22:04:28 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2016-04-08 22:04:28 (GMT) |
commit | 5f0507d8ab2fee70139ff147c5f7d472e8f4ba2b (patch) | |
tree | 1c786d5ca8a1d515b9396998f55ad535f26acc19 /Lib | |
parent | ef0138f42153d467edf8b0429c531f5204fe45dc (diff) | |
download | cpython-5f0507d8ab2fee70139ff147c5f7d472e8f4ba2b.zip cpython-5f0507d8ab2fee70139ff147c5f7d472e8f4ba2b.tar.gz cpython-5f0507d8ab2fee70139ff147c5f7d472e8f4ba2b.tar.bz2 |
Issue #26587: Allow .pth files to specify file paths as well as
directories.
Thanks to Wolfgang Langner for the bug report and initial version of
the patch.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/site.py | 18 | ||||
-rw-r--r-- | Lib/test/test_site.py | 2 |
2 files changed, 10 insertions, 10 deletions
diff --git a/Lib/site.py b/Lib/site.py index 56ba709..b66123f 100644 --- a/Lib/site.py +++ b/Lib/site.py @@ -131,13 +131,13 @@ def removeduppaths(): def _init_pathinfo(): - """Return a set containing all existing directory entries from sys.path""" + """Return a set containing all existing file system items from sys.path.""" d = set() - for dir in sys.path: + for item in sys.path: try: - if os.path.isdir(dir): - dir, dircase = makepath(dir) - d.add(dircase) + if os.path.exists(item): + _, itemcase = makepath(item) + d.add(itemcase) except TypeError: continue return d @@ -150,9 +150,9 @@ def addpackage(sitedir, name, known_paths): """ if known_paths is None: known_paths = _init_pathinfo() - reset = 1 + reset = True else: - reset = 0 + reset = False fullname = os.path.join(sitedir, name) try: f = open(fullname, "r") @@ -190,9 +190,9 @@ def addsitedir(sitedir, known_paths=None): 'sitedir'""" if known_paths is None: known_paths = _init_pathinfo() - reset = 1 + reset = True else: - reset = 0 + reset = False sitedir, sitedircase = makepath(sitedir) if not sitedircase in known_paths: sys.path.append(sitedir) # Add path component diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index 21628a9..f698927 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -75,7 +75,7 @@ class HelperFunctionsTests(unittest.TestCase): def test_init_pathinfo(self): dir_set = site._init_pathinfo() for entry in [site.makepath(path)[1] for path in sys.path - if path and os.path.isdir(path)]: + if path and os.path.exists(path)]: self.assertIn(entry, dir_set, "%s from sys.path not found in set returned " "by _init_pathinfo(): %s" % (entry, dir_set)) |