[PATCH 1/2] Set repo_error.repo attr also when filelists DL fails.
Zdenek Pavlas
zpavlas at redhat.com
Mon Sep 30 09:47:13 UTC 2013
sqlitesack code does not do sack.populateSack(mdtype='filelists')
but iterates enabled repos so we don't set the .repo attribute.
Fix this by setting the attr when exception is raised.
---
yum/repos.py | 2 --
yum/yumRepo.py | 9 ++++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/yum/repos.py b/yum/repos.py
index 5d6bc99..67ef1e4 100644
--- a/yum/repos.py
+++ b/yum/repos.py
@@ -88,7 +88,6 @@ class RepoStorage:
dl = repo._async and repo._commonLoadRepoXML(repo)
except Errors.RepoError, e:
if not repo.skip_if_unavailable:
- e.repo = repo
raise
self.disableRepo(repo.id)
dl = False
@@ -386,7 +385,6 @@ class RepoStorage:
if mdtype in ['all', 'metadata'] and repo.skip_if_unavailable:
self.disableRepo(repo.id)
else:
- e.repo = repo
raise
else:
self.pkgSack.addSack(repo.id, sack)
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index b98d3cf..e371676 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1003,8 +1003,9 @@ Insufficient space in download directory %s
except URLGrabError, e:
self._del_dl_file(local, size)
errstr = "failed to retrieve %s from %s\nerror was %s" % (relative, self, e)
- raise Errors.RepoError, errstr
-
+ e = Errors.RepoError(errstr)
+ e.repo = self
+ raise e
else:
headers = tuple(self.__headersListFromDict(cache=cache))
@@ -1023,7 +1024,9 @@ Insufficient space in download directory %s
self._del_dl_file(local, size)
errstr = "failure: %s from %s: %s" % (relative, self, e)
errors = getattr(e, 'errors', None)
- raise Errors.NoMoreMirrorsRepoError(errstr, errors)
+ e = Errors.NoMoreMirrorsRepoError(errstr, errors)
+ e.repo = self
+ raise e
return result
__get = _getFile
--
1.7.11.7
More information about the Yum-devel
mailing list