summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2016-04-08 22:04:28 (GMT)
committerBrett Cannon <brett@python.org>2016-04-08 22:04:28 (GMT)
commit5f0507d8ab2fee70139ff147c5f7d472e8f4ba2b (patch)
tree1c786d5ca8a1d515b9396998f55ad535f26acc19 /Lib
parentef0138f42153d467edf8b0429c531f5204fe45dc (diff)
downloadcpython-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.py18
-rw-r--r--Lib/test/test_site.py2
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))