[Checkins] SVN: z3c.pypimirror/trunk/src/z3c/pypimirror/ merging patch by Daniel Kraft

Andreas Jung andreas at andreas-jung.com
Sun Aug 31 05:12:52 EDT 2008


Log message for revision 90629:
  merging patch by Daniel Kraft
  

Changed:
  U   z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py
  U   z3c.pypimirror/trunk/src/z3c/pypimirror/pypimirror.cfg.sample

-=-
Modified: z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py
===================================================================
--- z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py	2008-08-31 08:41:23 UTC (rev 90628)
+++ z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py	2008-08-31 09:12:52 UTC (rev 90629)
@@ -126,7 +126,10 @@
             html = urllib2.urlopen(self.url()).read()
         except urllib2.HTTPError, v:
             if '404' in str(v):             # sigh
-                raise PackageError("Package not available: %s" % self.url())
+                raise PackageError("Package not available (404): %s" % self.url())
+            raise PackageError("Package not available (unknown reason): %s" % self.url())
+        except urllib2.URLError, v:
+            raise PackageError("URL Error: %s " % url)
         return html
 
     def _fetch_links(self, html):
@@ -225,8 +228,11 @@
         except urllib2.HTTPError, v:
             if '404' in str(v):             # sigh
                 raise PackageError("404: %s" % url)
+            raise PackageError("Couldn't download (HTTP Error): %s" % url)
         except urllib2.URLError, v:
             raise PackageError("URL Error: %s " % url)
+        except:
+            raise PackageError("Couldn't download (unknown reason): %s" % url)
         if md5_hex:
             # check for md5 checksum
             data_md5 = md5(data).hexdigest()
@@ -343,6 +349,7 @@
                         if mirror_package.size_match(filename, remote_size):
                             if verbose: 
                                 LOG.debug("Found: %s" % filename)
+                            full_list.append(mirror_package._html_link(base_url, filename, md5_hash))
                             continue
 
                     try:
@@ -358,13 +365,14 @@
                     # Example: downman.py?file=configobj-4.3.0.zip
                     mirror_package.write(filename, data, md5_hash)
                     stats.stored(filename)
+                    full_list.append(mirror_package._html_link(base_url, filename, md5_hash))
                     if verbose: 
                         LOG.debug("Stored: %s [%d kB]" % (filename, len(data)//1024))
                 else:
                     stats.found(filename)
+                    full_list.append(mirror_package._html_link(base_url, filename, md5_hash))
                     if verbose: 
                         LOG.debug("Found: %s" % filename)
-                full_list.append(mirror_package._html_link(base_url, filename, md5_hash))
             if cleanup:
                 mirror_package.cleanup(links, verbose)
             if create_indexes:

Modified: z3c.pypimirror/trunk/src/z3c/pypimirror/pypimirror.cfg.sample
===================================================================
--- z3c.pypimirror/trunk/src/z3c/pypimirror/pypimirror.cfg.sample	2008-08-31 08:41:23 UTC (rev 90628)
+++ z3c.pypimirror/trunk/src/z3c/pypimirror/pypimirror.cfg.sample	2008-08-31 09:12:52 UTC (rev 90629)
@@ -23,7 +23,7 @@
     zope.app.*
     plone.app.*
 
-# remove packages not on pypi anymore
+# remove packages not on pypi (or externals) anymore
 cleanup = True
 
 # create index.html files
@@ -32,6 +32,12 @@
 # be more verbose
 verbose = True
 
+# resolve download_url links on pypi which point to files and download
+# the files from there (if they match filename_matches).
+# The filename and filesize (from the download header) are used
+# to find out if the file is already on the mirror. Not all servers
+# support the content-length header, so be prepared to download
+# a lot of data on each mirror update.
 # This is highly experimental and shouldn't be used right now.
 external_links = False
 



More information about the Checkins mailing list