[Python-checkins] distutils2: Fix some lower/upper case issues about the index crawlers.

tarek.ziade python-checkins at python.org
Sun Aug 8 11:50:46 CEST 2010


tarek.ziade pushed 3d4ce44d5201 to distutils2:

http://hg.python.org/distutils2/rev/3d4ce44d5201
changeset:   462:3d4ce44d5201
user:        Alexis Metaireau <ametaireau at gmail.com>
date:        Tue Jul 27 16:33:06 2010 +0200
summary:     Fix some lower/upper case issues about the index crawlers.
files:       src/distutils2/index/base.py, src/distutils2/index/dist.py, src/distutils2/index/simple.py, src/distutils2/index/xmlrpc.py

diff --git a/src/distutils2/index/base.py b/src/distutils2/index/base.py
--- a/src/distutils2/index/base.py
+++ b/src/distutils2/index/base.py
@@ -35,7 +35,7 @@
 
     def _get_project(self, project_name):
         """Return an project instance, create it if necessary"""
-        return self._projects.setdefault(project_name,
+        return self._projects.setdefault(project_name.lower(),
                                          ReleasesList(project_name))
 
     def download_distribution(self, requirements, temp_path=None,
diff --git a/src/distutils2/index/dist.py b/src/distutils2/index/dist.py
--- a/src/distutils2/index/dist.py
+++ b/src/distutils2/index/dist.py
@@ -357,7 +357,7 @@
         distribution creation (eg. the arguments of the DistInfo constructor).
         """
         if release:
-            if release.name != self.name:
+            if release.name.lower() != self.name.lower():
                 raise ValueError(release.name)
             version = '%s' % release.version
             if not version in self.get_versions():
diff --git a/src/distutils2/index/simple.py b/src/distutils2/index/simple.py
--- a/src/distutils2/index/simple.py
+++ b/src/distutils2/index/simple.py
@@ -158,10 +158,10 @@
         prefer_final = self._get_prefer_final(prefer_final)
         self._process_index_page(predicate.name)
 
-        if not self._projects.has_key(predicate.name):
+        if not self._projects.has_key(predicate.name.lower()):
             raise ProjectNotFound()
 
-        releases = self._projects.get(predicate)
+        releases = self._projects.get(predicate.name.lower())
         releases.sort_releases(prefer_final=prefer_final)
         return releases
 
@@ -233,18 +233,18 @@
             name = release.name
         else:
             name = release_info['name']
-        if not name in self._projects:
-            self._projects[name] = ReleasesList(name)
+        if not name.lower() in self._projects:
+            self._projects[name.lower()] = ReleasesList(name)
 
         if release:
-            self._projects[name].add_release(release=release)
+            self._projects[name.lower()].add_release(release=release)
         else:
             name = release_info.pop('name')
             version = release_info.pop('version')
             dist_type = release_info.pop('dist_type')
-            self._projects[name].add_release(version, dist_type,
-                                             **release_info)
-        return self._projects[name]
+            self._projects[name.lower()].add_release(version, dist_type,
+                                                     **release_info)
+        return self._projects[name.lower()]
 
     def _process_url(self, url, project_name=None, follow_links=True):
         """Process an url and search for distributions packages.
diff --git a/src/distutils2/index/xmlrpc.py b/src/distutils2/index/xmlrpc.py
--- a/src/distutils2/index/xmlrpc.py
+++ b/src/distutils2/index/xmlrpc.py
@@ -75,8 +75,8 @@
         predicate = self._get_version_predicate(requirements)
         prefer_final = self._get_prefer_final(prefer_final)
         project_name = predicate.name
-        if not force_update and (project_name in self._projects):
-            project = self._projects[project_name]
+        if not force_update and (project_name.lower() in self._projects):
+            project = self._projects[project_name.lower()]
             if not project.contains_hidden and show_hidden:
                 # if hidden releases are requested, and have an existing
                 # list of releases that does not contains hidden ones
@@ -151,7 +151,7 @@
             except IrrationalVersionError, e:
                 logging.warn("Irrational version error found: %s" % e)
 
-        return [self._projects[p['name']] for p in projects]
+        return [self._projects[p['name'].lower()] for p in projects]
 
     @property
     def proxy(self):

--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list