- ack
On Thursday 20 of September 2012 10:27:03 Jiri Moskovcak wrote:
- otherwise the information *why* the download is failing is
not propagated to the gui and users don't know what's wrong
---
src/client-python/debuginfo.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/client-python/debuginfo.py b/src/client-python/debuginfo.py
index 72bbadb..c9e81cd 100644
--- a/src/client-python/debuginfo.py
+++ b/src/client-python/debuginfo.py
@@ -131,6 +131,13 @@ class MyDownloadCallback(DownloadBaseCallback):
sys.stdout.flush()
+def downloadErrorCallback(callBackObj):
+ print _("Problem '{0!s}' occured while downloading from mirror:
'{1!s}'. Trying next one").format( + callBackObj.exception,
callBackObj.mirror)
+ # explanation of the return value can be found here:
+ # /usr/lib/python2.7/site-packages/urlgrabber/mirror.py
+ return {'fail':0}
+
class DebugInfoDownload(YumBase):
def __init__(self, cache, tmp, keep_rpms=False, noninteractive=True):
self.cachedir = cache
@@ -257,6 +264,7 @@ class DebugInfoDownload(YumBase):
# connect our progress update callback
dnlcb = MyDownloadCallback(total_pkgs)
self.repos.setProgressBar(dnlcb)
+ self.repos.setMirrorFailureCallback(downloadErrorCallback)
if verbose != 0 or len(not_found) != 0:
print _("Can't find packages for {0} debuginfo
files").format(len(not_found))