diff options
author | Tarek Ziade <tarek@ziade.org> | 2010-07-03 15:12:05 +0200 |
---|---|---|
committer | Tarek Ziade <tarek@ziade.org> | 2010-07-03 15:12:05 +0200 |
commit | 5c7f1d086631316d3fe22e97a26b26e2c18c0a1c (patch) | |
tree | ccad63091d07b46b34eaa2f912c8c7321b9222f9 /setuptools/package_index.py | |
parent | 79a00a3182447a66a2106761dfabda0e16d0ba19 (diff) | |
parent | 72c44b3258e02b56ac106f878a64eca726a6f01f (diff) | |
download | external_python_setuptools-5c7f1d086631316d3fe22e97a26b26e2c18c0a1c.tar.gz external_python_setuptools-5c7f1d086631316d3fe22e97a26b26e2c18c0a1c.tar.bz2 external_python_setuptools-5c7f1d086631316d3fe22e97a26b26e2c18c0a1c.zip |
merging changes relates #142
--HG--
branch : distribute
extra : rebase_source : e912f048dcfe28a5a7a17aca89bab427e15924ff
Diffstat (limited to 'setuptools/package_index.py')
-rwxr-xr-x | setuptools/package_index.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/setuptools/package_index.py b/setuptools/package_index.py index ba43cfbf..1d467f78 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -418,7 +418,8 @@ class PackageIndex(Environment): def fetch_distribution(self, - requirement, tmpdir, force_scan=False, source=False, develop_ok=False + requirement, tmpdir, force_scan=False, source=False, develop_ok=False, + local_index=None ): """Obtain a distribution suitable for fulfilling `requirement` @@ -440,11 +441,14 @@ class PackageIndex(Environment): # process a Requirement self.info("Searching for %s", requirement) skipped = {} + dist = None - def find(req): + def find(req, env=None): + if env is None: + env = self # Find a matching distribution; may be called more than once - for dist in self[req.key]: + for dist in env[req.key]: if dist.precedence==DEVELOP_DIST and not develop_ok: if dist not in skipped: @@ -461,8 +465,11 @@ class PackageIndex(Environment): if force_scan: self.prescan() self.find_packages(requirement) + dist = find(requirement) + + if local_index is not None: + dist = dist or find(requirement, local_index) - dist = find(requirement) if dist is None and self.to_scan is not None: self.prescan() dist = find(requirement) |