[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