summaryrefslogtreecommitdiff
path: root/pkg_resources.py
diff options
context:
space:
mode:
Diffstat (limited to 'pkg_resources.py')
-rw-r--r--pkg_resources.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/pkg_resources.py b/pkg_resources.py
index 7aba57ce..7b047c19 100644
--- a/pkg_resources.py
+++ b/pkg_resources.py
@@ -984,10 +984,8 @@ def StringIO(*args, **kw):
def find_nothing(importer,path_item):
return ()
-
register_finder(object,find_nothing)
-
def find_on_path(importer,path_item):
"""Yield distributions accessible on a sys.path directory"""
if not os.path.exists(path_item):
@@ -1004,25 +1002,27 @@ def find_on_path(importer,path_item):
# scan for .egg and .egg-info in directory
for entry in os.listdir(path_item):
fullpath = os.path.join(path_item, entry)
- if entry.lower().endswith('.egg'):
+ lower = entry.lower()
+ if lower.endswith('.egg'):
for dist in find_on_path(importer,fullpath):
yield dist
- elif entry.lower().endswith('.egg-info'):
+ elif lower.endswith('.egg-info'):
if os.path.isdir(fullpath):
# development egg
metadata = PathMetadata(path_item, fullpath)
dist_name = os.path.splitext(entry)[0]
yield Distribution(path_item,metadata,name=dist_name)
- elif path_item.lower().endswith('.egg'):
- # packed egg
+ elif lower.endswith('.egg-link'):
+ for line in file(fullpath):
+ if not line.strip(): continue
+ for item in find_distributions(line.rstrip()):
+ yield item
+ elif path_item.lower().endswith('.egg'): # packed egg
metadata = EggMetadata(zipimport.zipimporter(path_item))
yield Distribution.from_filename(path_item, metadata=metadata)
register_finder(ImpWrapper,find_on_path)
-
-
-
_namespace_handlers = {}
_namespace_packages = {}