From: Michael Tremer Date: Wed, 7 Dec 2016 20:42:25 +0000 (+0100) Subject: packages: Replace old downloader code with new one X-Git-Tag: 0.9.28~1285^2~1388 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c207f009c77480f276bd6dc903d5fa2c57b24c70;p=pakfire.git packages: Replace old downloader code with new one Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/packages/installed.py b/src/pakfire/packages/installed.py index 96a029933..d93cefd94 100644 --- a/src/pakfire/packages/installed.py +++ b/src/pakfire/packages/installed.py @@ -23,6 +23,8 @@ import os import pakfire.filelist +from .. import http + from .base import Package from .file import BinaryPackage @@ -300,27 +302,11 @@ class DatabasePackage(Package): cache.remove(cache_filename) if download: - # Make sure filename is of type string (and not unicode) - filename = str(self.filename) - - # Get a package grabber and add mirror download capabilities to it. - grabber = pakfire.downloader.PackageDownloader( - text=text + os.path.basename(filename), - ) - grabber = self.repo.mirrors.group(grabber) - - i = grabber.urlopen(filename) - - # Open input and output files and download the file. - o = cache.open(cache_filename, "w") - - buf = i.read(BUFFER_SIZE) - while buf: - o.write(buf) - buf = i.read(BUFFER_SIZE) + downloader = http.Client() + for mirror in self.repo.mirrors.all: + downloader.add_mirror(mirror.url) - i.close() - o.close() + downloader.retrieve(filename, filename=cache_filename) # Verify if the download was okay. if not cache.verify(cache_filename, self.hash1):