--- yum/__init__.py | 42 +++++++++++++++++++++--------------------- 1 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/yum/__init__.py b/yum/__init__.py index 509eea2..3329828 100644 --- a/yum/__init__.py +++ b/yum/__init__.py @@ -2159,7 +2159,7 @@ class YumBase(depsolve.Depsolve): urlgrabber.progress.text_meter_total_size(remote_size) beg_download = time.time() i = 0 - local_size = 0 + local_size = [0] done_repos = set() for po in remote_pkgs: # Recheck if the file is there, works around a couple of weird @@ -2172,41 +2172,41 @@ class YumBase(depsolve.Depsolve): remote_size -= po.size if hasattr(urlgrabber.progress, 'text_meter_total_size'): urlgrabber.progress.text_meter_total_size(remote_size, - local_size) + local_size[0]) continue if os.path.getsize(local) >= po.size: os.unlink(local) - checkfunc = (self.verifyPkg, (po, 1), {}) - try: - if i == 1 and not local_size and remote_size == po.size: - text = os.path.basename(po.relativepath) - else: - text = '(%s/%s): %s' % (i, len(remote_pkgs), - os.path.basename(po.relativepath)) - mylocal = po.repo.getPackage(po, - checkfunc=checkfunc, - text=text, - cache=po.repo.http_caching != 'none', - ) - local_size += po.size + def checkfunc(obj, po=po): + self.verifyPkg(obj, po, 1) + local_size[0] += po.size if hasattr(urlgrabber.progress, 'text_meter_total_size'): urlgrabber.progress.text_meter_total_size(remote_size, - local_size) + local_size[0]) if po.repoid not in done_repos: + done_repos.add(po.repoid) # Check a single package per. repo. ... to give a hint to # the user on big downloads. result, errmsg = self.sigCheckPkg(po) if result != 0: self.verbose_logger.warn("%s", errmsg) - done_repos.add(po.repoid) + po.localpath = obj.filename + if po in errors: + del errors[po] + try: + if i == 1 and not local_size[0] and remote_size == po.size: + text = os.path.basename(po.relativepath) + else: + text = '(%s/%s): %s' % (i, len(remote_pkgs), + os.path.basename(po.relativepath)) + po.repo.getPackage(po, + checkfunc=checkfunc, + text=text, + cache=po.repo.http_caching != 'none', + ) except Errors.RepoError, e: adderror(po, exception2msg(e)) - else: - po.localpath = mylocal - if po in errors: - del errors[po] if hasattr(urlgrabber.progress, 'text_meter_total_size'): urlgrabber.progress.text_meter_total_size(0) -- 1.7.4.4 _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel