aboutsummaryrefslogtreecommitdiffstats
path: root/pkg_resources.py
diff options
context:
space:
mode:
Diffstat (limited to 'pkg_resources.py')
-rw-r--r--pkg_resources.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/pkg_resources.py b/pkg_resources.py
index 6ec51fa0..30dbc188 100644
--- a/pkg_resources.py
+++ b/pkg_resources.py
@@ -14,6 +14,7 @@ method.
"""
import sys, os, zipimport, time, re, imp, types
+from urlparse import urlparse, urlunparse
try:
frozenset
@@ -2044,8 +2045,13 @@ class EntryPoint(object):
parse_map = classmethod(parse_map)
-
-
+def _remove_md5_fragment(location):
+ if not location:
+ return ''
+ parsed = urlparse(location)
+ if parsed[-1].startswith('md5='):
+ return urlunparse(parsed[:-1] + ('',))
+ return location
class Distribution(object):
@@ -2079,10 +2085,14 @@ class Distribution(object):
)
from_location = classmethod(from_location)
+
hashcmp = property(
lambda self: (
- getattr(self,'parsed_version',()), self.precedence, self.key,
- -len(self.location or ''), self.location, self.py_version,
+ getattr(self,'parsed_version',()),
+ self.precedence,
+ self.key,
+ _remove_md5_fragment(self.location),
+ self.py_version,
self.platform
)
)