From: Michael Tremer Date: Sat, 28 Jan 2012 19:40:35 +0000 (+0100) Subject: Make sure downloaded (tar) files have a size greater than zero. X-Git-Tag: 0.9.20~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9ddb19b95f37f5a36ab8c0e85f67f53a4b0fa2d7;p=pakfire.git Make sure downloaded (tar) files have a size greater than zero. --- diff --git a/python/pakfire/downloader.py b/python/pakfire/downloader.py index 8e32e3c5a..f7f29c49e 100644 --- a/python/pakfire/downloader.py +++ b/python/pakfire/downloader.py @@ -125,7 +125,7 @@ class SourceDownloader(object): for file in files: filename = os.path.join(SOURCE_CACHE_DIR, file) - if os.path.exists(filename): + if os.path.exists(filename) and os.path.getsize(filename): existant_files.append(filename) else: download_files.append(filename) @@ -138,6 +138,8 @@ class SourceDownloader(object): os.makedirs(SOURCE_CACHE_DIR) for filename in download_files: + self.grabber.urlgrab(os.path.basename(filename), filename=filename) + try: self.grabber.urlgrab(os.path.basename(filename), filename=filename) except URLGrabError, e: @@ -149,6 +151,14 @@ class SourceDownloader(object): raise DownloadError, "%s %s" % (os.path.basename(filename), e) + # Check if the downloaded file was empty. + if os.path.getsize(filename) == 0: + # Remove the file and raise an error. + os.unlink(filename) + + raise DownloadError, _("Downloaded empty file: %s") \ + % os.path.basename(filename) + log.info("") return existant_files + download_files