[Yum-devel] [PATCH] yumRepo.getGroups(): decompress, handle errors. BZ 829505

Zdeněk Pavlas zpavlas at redhat.com
Wed Jul 11 12:09:03 UTC 2012


repo_gen_decompress() here, use gen/ directory.
Handle IOErrors as if the download has failed.
---
 yum/yumRepo.py |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 53d3932..ccdd804 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -1708,9 +1708,16 @@ Insufficient space in download directory %s
 
     def getGroups(self):
         """gets groups and returns group file path for the repository, if there
-           is none it returns None"""
+           is none or retrieve/decompress fails, it returns None"""
         if 'group_gz' in self.repoXML.fileTypes():
-            return self._retrieveMD('group_gz', retrieve_can_fail=True)
+            fn = self._retrieveMD('group_gz', retrieve_can_fail=True)
+            if fn:
+                try:
+                    fn = misc.repo_gen_decompress(fn, 'comps.xml')
+                except IOError, e:
+                    logger.warning(e)
+                    fn = None
+            return fn
         return self._retrieveMD('group', retrieve_can_fail=True)
 
     def setCallback(self, callback):
-- 
1.7.4.4



More information about the Yum-devel mailing list