]> git.ipfire.org Git - pakfire.git/commitdiff
Use urlgrab method for urlgrabber download.
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 7 Dec 2012 14:10:47 +0000 (15:10 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 7 Dec 2012 14:10:47 +0000 (15:10 +0100)
python/pakfire/repository/local.py

index 2610bc0fc5daee1b2c0dc88018a8c01c1a45418f..d9a0011a6a5ae2f34744b8af72d5a3a00c377105 100644 (file)
@@ -94,32 +94,18 @@ class RepositoryDir(base.RepositoryFactory):
                return files
 
        def download_package(self, url):
-               basename = os.path.basename(url)
-
-               grabber = downloader.PackageDownloader(self.pakfire, text=basename)
-
-               try:
-                       download = grabber.urlopen(url)
-               except urlgrabber.grabber.URLGrabError, e:
-                       raise DownloadError, _("Could not download %s: %s") % (url, e)
+               grabber = downloader.PackageDownloader(self.pakfire)
 
                tmpfile = None
                try:
                        tmpfile = tempfile.NamedTemporaryFile(mode="wb", delete=False)
-
-                       while True:
-                               buf = download.read(BUFFER_SIZE)
-                               if not buf:
-                                       break
-
-                               tmpfile.write(buf)
-
                        tmpfile.close()
-                       download.close()
+
+                       basename = os.path.basename(url)
+                       grabber.urlgrab(url, filename=tmpfile.name, text=basename)
 
                        # Add the package to the repository.
                        self.add_package(tmpfile.name)
-
                finally:
                        # Delete the temporary file afterwards.
                        # Ignore any errors.