diff options
author | tarek <none@none> | 2009-09-20 14:48:47 +0200 |
---|---|---|
committer | tarek <none@none> | 2009-09-20 14:48:47 +0200 |
commit | ba84419dfc63e5f535faead38ee9fb60306a079c (patch) | |
tree | c489fe218f0e43d14f3a9e8f8c14517439d4fde0 /pkg_resources.py | |
parent | 1219c326683905695fbdf60c22367129075d2f8d (diff) | |
parent | 95159c09e5bb2d1dc1f0ccf89ccbe90ecc6871a0 (diff) | |
download | external_python_setuptools-ba84419dfc63e5f535faead38ee9fb60306a079c.tar.gz external_python_setuptools-ba84419dfc63e5f535faead38ee9fb60306a079c.tar.bz2 external_python_setuptools-ba84419dfc63e5f535faead38ee9fb60306a079c.zip |
merge dance
--HG--
branch : distribute
extra : rebase_source : e0fc1e252a506a6a751f9557d4a01580e1cbbdfa
Diffstat (limited to 'pkg_resources.py')
-rw-r--r-- | pkg_resources.py | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/pkg_resources.py b/pkg_resources.py index c636903c..7c3d58fb 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -13,7 +13,7 @@ The package resource API is designed to work with normal filesystem packages, method. """ -import sys, os, zipimport, time, re, imp, new +import sys, os, zipimport, time, re, imp, types try: frozenset @@ -1126,10 +1126,16 @@ class NullProvider: def has_metadata(self, name): return self.egg_info and self._has(self._fn(self.egg_info,name)) - def get_metadata(self, name): - if not self.egg_info: - return "" - return self._get(self._fn(self.egg_info,name)) + if sys.version_info <= (3,): + def get_metadata(self, name): + if not self.egg_info: + return "" + return self._get(self._fn(self.egg_info,name)) + else: + def get_metadata(self, name): + if not self.egg_info: + return "" + return self._get(self._fn(self.egg_info,name)).decode("utf-8") def get_metadata_lines(self, name): return yield_lines(self.get_metadata(name)) @@ -1707,7 +1713,7 @@ def _handle_ns(packageName, path_item): return None module = sys.modules.get(packageName) if module is None: - module = sys.modules[packageName] = new.module(packageName) + module = sys.modules[packageName] = types.ModuleType(packageName) module.__path__ = []; _set_parent_ns(packageName) elif not hasattr(module,'__path__'): raise TypeError("Not a package:", packageName) @@ -2044,8 +2050,20 @@ class Distribution(object): self.platform ) ) - def __cmp__(self, other): return cmp(self.hashcmp, other) def __hash__(self): return hash(self.hashcmp) + def __lt__(self, other): + return self.hashcmp < other.hashcmp + def __le__(self, other): + return self.hashcmp <= other.hashcmp + def __gt__(self, other): + return self.hashcmp > other.hashcmp + def __ge__(self, other): + return self.hashcmp >= other.hashcmp + def __eq__(self, other): + if not isinstance(other, self.__class__): + # It's not a Distribution, so they are not equal + return False + return self.hashcmp == other.hashcmp # These properties have to be lazy so that we don't have to load any # metadata until/unless it's actually needed. (i.e., some distributions @@ -2448,8 +2466,9 @@ class Requirement: elif isinstance(item,basestring): item = parse_version(item) last = None + compare = lambda a, b: (a > b) - (a < b) # -1, 0, 1 for parsed,trans,op,ver in self.index: - action = trans[cmp(item,parsed)] + action = trans[compare(item,parsed)] # Indexing: 0, 1, -1 if action=='F': return False elif action=='T': return True elif action=='+': last = True |