aboutsummaryrefslogtreecommitdiffstats
path: root/setuptools
diff options
context:
space:
mode:
authorTarek Ziade <tarek@ziade.org>2010-07-03 15:12:05 +0200
committerTarek Ziade <tarek@ziade.org>2010-07-03 15:12:05 +0200
commit5c7f1d086631316d3fe22e97a26b26e2c18c0a1c (patch)
treeccad63091d07b46b34eaa2f912c8c7321b9222f9 /setuptools
parent79a00a3182447a66a2106761dfabda0e16d0ba19 (diff)
parent72c44b3258e02b56ac106f878a64eca726a6f01f (diff)
downloadexternal_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')
-rwxr-xr-xsetuptools/command/easy_install.py3
-rwxr-xr-xsetuptools/package_index.py15
-rw-r--r--setuptools/tests/server.py7
3 files changed, 19 insertions, 6 deletions
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index a41841b3..2a227196 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -565,7 +565,8 @@ Please make the appropriate changes for your system and try again.
self.check_editable(spec)
dist = self.package_index.fetch_distribution(
- spec, tmpdir, self.upgrade, self.editable, not self.always_copy
+ spec, tmpdir, self.upgrade, self.editable, not self.always_copy,
+ self.local_index
)
if dist is None:
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)
diff --git a/setuptools/tests/server.py b/setuptools/tests/server.py
index f116a3fd..f4aaaa1c 100644
--- a/setuptools/tests/server.py
+++ b/setuptools/tests/server.py
@@ -1,6 +1,7 @@
"""Basic http server for tests to simulate PyPI or custom indexes
"""
import urllib2
+import sys
from threading import Thread
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
@@ -33,7 +34,11 @@ class IndexServer(HTTPServer):
"""self.shutdown is not supported on python < 2.6"""
self._run = False
try:
- urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port, None, 5)
+ if sys.version > '2.6':
+ urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port,
+ None, 5)
+ else:
+ urllib2.urlopen('http://127.0.0.1:%s/' % self.server_port)
except urllib2.URLError:
pass
self.thread.join()