bundled zetuptoolz: choose a binary dist in preference to a source dist, even if the latter is newer, as long as the former satisfies the requirement

patch by David-Sarah, tiny bugfix to patch by Zooko
ref: #1233
This commit is contained in:
Zooko O'Whielacronx 2010-11-17 00:08:28 -08:00
parent a1cef915fd
commit a44330dfee

View File

@ -436,18 +436,18 @@ class PackageIndex(Environment):
def find(env, req):
# Find a matching distribution; may be called more than once
for dist in env[req.key]:
if dist.precedence==DEVELOP_DIST and not develop_ok:
if dist not in skipped:
self.warn("Skipping development or system egg: %s",dist)
skipped[dist] = 1
continue
if dist in req and (dist.precedence<=SOURCE_DIST or not source):
return dist
# first try to find a platform-dependent dist
for allow_platform_independent in (False, True):
for dist in env[req.key]:
if dist.precedence==DEVELOP_DIST and not develop_ok:
if dist not in skipped:
self.warn("Skipping development or system egg: %s",dist)
skipped[dist] = 1
continue
if (dist in req and (allow_platform_independent or dist.platform is not None) and
(dist.precedence<=SOURCE_DIST or not source)):
return dist
if force_scan:
self.prescan()