diff options
author | PJ Eby <distutils-sig@python.org> | 2006-05-12 22:17:31 +0000 |
---|---|---|
committer | PJ Eby <distutils-sig@python.org> | 2006-05-12 22:17:31 +0000 |
commit | 27874986d6539405fc971e9cf70563a096ee5b83 (patch) | |
tree | 6f845c7a166159c3541898a937851ba51b2b5605 /setuptools/package_index.py | |
parent | dcd12bd1088713adb87cfc1344ca30b10869ae36 (diff) | |
download | external_python_setuptools-27874986d6539405fc971e9cf70563a096ee5b83.tar.gz external_python_setuptools-27874986d6539405fc971e9cf70563a096ee5b83.tar.bz2 external_python_setuptools-27874986d6539405fc971e9cf70563a096ee5b83.zip |
Better ambiguity management: accept #egg name/version even if processing
what appears to be a correctly-named distutils file, and ignore .egg
files with no '-', since valid Python .egg files always have a version
number (but Scheme eggs often don't).
--HG--
branch : setuptools-0.6
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4045984
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-x | setuptools/package_index.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index e0db7273..2760dc8d 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -48,20 +48,21 @@ def egg_info_for_url(url): def distros_for_url(url, metadata=None): """Yield egg or source distribution objects that might be found at a URL""" base, fragment = egg_info_for_url(url) - dists = distros_for_location(url, base, metadata) - if fragment and not dists: + for dist in distros_for_location(url, base, metadata): yield dist + if fragment: match = EGG_FRAGMENT.match(fragment) if match: - return interpret_distro_name( + for dist in interpret_distro_name( url, match.group(1), metadata, precedence = CHECKOUT_DIST - ) - return dists + ): + yield dist def distros_for_location(location, basename, metadata=None): """Yield egg or source distribution objects based on basename""" if basename.endswith('.egg.zip'): basename = basename[:-4] # strip the .zip - if basename.endswith('.egg'): # only one, unambiguous interpretation + if basename.endswith('.egg') and '-' in basename: + # only one, unambiguous interpretation return [Distribution.from_location(location, basename, metadata)] if basename.endswith('.exe'): @@ -79,7 +80,6 @@ def distros_for_location(location, basename, metadata=None): return interpret_distro_name(location, basename, metadata) return [] # no extension matched - def distros_for_filename(filename, metadata=None): """Yield possible egg or source distribution objects based on a filename""" return distros_for_location( |