From: Michael Tremer Date: Thu, 29 Mar 2012 22:32:23 +0000 (+0200) Subject: Try harder to download repository metadata. X-Git-Tag: 0.9.22~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dc2bc449493267d37c6c498520e31375ddb2fea5;p=pakfire.git Try harder to download repository metadata. --- diff --git a/python/pakfire/repository/remote.py b/python/pakfire/repository/remote.py index f9c5c71b8..3d8c1ca00 100644 --- a/python/pakfire/repository/remote.py +++ b/python/pakfire/repository/remote.py @@ -20,6 +20,7 @@ ############################################################################### import os +import urlgrabber import logging log = logging.getLogger("pakfire") @@ -164,7 +165,14 @@ class RepositoryRemote(base.RepositoryFactory): grabber = self.mirrors.group(grabber) while True: - data = grabber.urlread(filename, limit=METADATA_DOWNLOAD_LIMIT) + try: + data = grabber.urlread(filename, limit=METADATA_DOWNLOAD_LIMIT) + except urlgrabber.grabber.URLGrabError, e: + if e.errno == 256: + raise DownloadError, _("Could not update metadata for %s from any mirror server") % self.name + + grabber.increment_mirror(grabber) + continue # Parse new metadata for comparison. md = metadata.Metadata(self.pakfire, metadata=data)