[yum-cvs] yum/yum repos.py,1.59.2.4,1.59.2.5

Seth Vidal skvidal at login.linux.duke.edu
Mon Jun 27 07:04:01 UTC 2005


Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv12618

Modified Files:
      Tag: yum-2_2_X
	repos.py 
Log Message:

backport mangled repomd.xml fix from cvs-HEAD


Index: repos.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/repos.py,v
retrieving revision 1.59.2.4
retrieving revision 1.59.2.5
diff -u -r1.59.2.4 -r1.59.2.5
--- repos.py	15 Mar 2005 06:56:33 -0000	1.59.2.4
+++ repos.py	27 Jun 2005 07:03:58 -0000	1.59.2.5
@@ -584,17 +584,34 @@
             else:
                 result = local
         else:
+            checkfunc = (self._checkRepoXML, (), {})
             try:
-                result = self.get(relative=remote, local=local,
-                                  copy_local=1, text=text, reget=None)
+                result = self.get(relative=remote,
+                                  local=local,
+                                  copy_local=1,
+                                  text=text,
+                                  reget=None,
+                                  checkfunc=checkfunc)
+
             except URLGrabError, e:
                 raise Errors.RepoError, 'Error downloading file %s: %s' % (local, e)
-
+        
         try:
             self.repoXML = repoMDObject.RepoMD(self.id, result)
         except mdErrors.RepoMDError, e:
             raise Errors.RepoError, 'Error importing repomd.xml from %s: %s' % (self, e)
 
+    def _checkRepoXML(self, fo):
+        if type(fo) is types.InstanceType:
+            filepath = fo.filename
+        else:
+            filepath = fo
+        
+        try:
+            foo = repoMDObject.RepoMD(self.id, filepath)
+        except mdErrors.RepoMDError, e:
+            raise URLGrabError(-1, 'Error importing repomd.xml for %s: %s' % (self, e))
+
     
     def _checkMD(self, fn, mdtype):
         """check the metadata type against its checksum"""




More information about the Yum-cvs-commits mailing list