[yum-cvs] yum/yum Errors.py,1.15,1.16 yumRepo.py,1.49,1.50

Jeremy Katz katzj at linux.duke.edu
Wed Jun 27 19:39:50 UTC 2007


Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv8697/yum

Modified Files:
	Errors.py yumRepo.py 
Log Message:
When downloading, it can be useful to distinguish between an error due
to no more mirrors being available and other errors.  Attached patch
adds a new error type so that if you care, you can catch it instead and
then uses it in yumRepo._getFile(). 



Index: Errors.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/Errors.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Errors.py	3 Feb 2007 21:30:08 -0000	1.15
+++ Errors.py	27 Jun 2007 19:39:48 -0000	1.16
@@ -48,6 +48,11 @@
         RepoError.__init__(self)
         self.value = value
 
+class NoMoreMirrorsRepoError(RepoError):
+    def __init__(self, value=None):
+        RepoError.__init__(self)
+        self.value = value
+
 class ConfigError(YumBaseError):
     def __init__(self, value=None):
         YumBaseError.__init__(self)

Index: yumRepo.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/yumRepo.py,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- yumRepo.py	21 Jun 2007 18:01:20 -0000	1.49
+++ yumRepo.py	27 Jun 2007 19:39:48 -0000	1.50
@@ -553,8 +553,12 @@
                                     range=(start, end),
                                     )
             except URLGrabError, e:
-                raise Errors.RepoError, \
-                    "failed to retrieve %s from %s\nerror was %s" % (relative, self.id, e)
+                errstr = "failed to retrieve %s from %s\nerror was %s" % (relative, self.id, e)
+                if e.errno == 256:
+                    raise Errors.NoMoreMirrorsRepoError, errstr
+                else:
+                    raise Errors.RepoError, errstr
+                    
 
         else:
             try:
@@ -567,7 +571,11 @@
                                            http_headers=headers,
                                            )
             except URLGrabError, e:
-                raise Errors.RepoError, "failure: %s from %s: %s" % (relative, self.id, e)
+                errstr = "failure: %s from %s: %s" % (relative, self.id, e)
+                if e.errno == 256:
+                    raise Errors.NoMoreMirrorsRepoError, errstr
+                else:
+                    raise Errors.RepoError, errstr
 
         return result
     __get = _getFile
@@ -587,7 +595,7 @@
         
     def getHeader(self, package, checkfunc = None, reget = 'simple',
             cache = True):
-        
+
         remote = package.relativepath
         local =  package.localHdr()
         start = package.hdrstart




More information about the Yum-cvs-commits mailing list