---
yum/yumRepo.py | 37 +++++++++++++++++--------------------
1 files changed, 17 insertions(+), 20 deletions(-)
diff --git a/yum/yumRepo.py b/yum/yumRepo.py
index 91b7dde..8ef14a4 100644
--- a/yum/yumRepo.py
+++ b/yum/yumRepo.py
@@ -269,7 +269,6 @@ class YumRepository(Repository, config.RepoConf):
self.failure_obj = None
self.mirror_failure_obj = None
self.interrupt_callback = None
- self._callbacks_changed = False
# callback function for handling media
self.mediafunc = None
@@ -474,15 +473,7 @@ class YumRepository(Repository, config.RepoConf):
Errors.YumFutureDeprecationWarning, stacklevel=2)
self._setupGrab()
- def _setupGrab(self):
- """sets up the grabber functions with the already stocked in urls for
- the mirror groups"""
-
- if self.failovermethod == 'roundrobin':
- mgclass = urlgrabber.mirror.MGRandomOrder
- else:
- mgclass = urlgrabber.mirror.MirrorGroup
-
+ def _setupGrabFunc(self):
ugopts = self._default_grabopts()
self._grabfunc = URLGrabber(progress_obj=self.callback,
failure_callback=self.failure_obj,
@@ -491,7 +482,15 @@ class YumRepository(Repository, config.RepoConf):
reget='simple',
**ugopts)
- self._grab = mgclass(self._grabfunc, self.urls,
+ def _setupGrab(self):
+ """sets up the grabber functions with the already stocked in urls for
+ the mirror groups"""
+
+ if self.failovermethod == 'roundrobin':
+ mgclass = urlgrabber.mirror.MGRandomOrder
+ else:
+ mgclass = urlgrabber.mirror.MirrorGroup
+ self._grab = mgclass(self.grabfunc, self.urls,
failure_callback=self.mirror_failure_obj)
def _default_grabopts(self, cache=True):
@@ -515,15 +514,13 @@ class YumRepository(Repository, config.RepoConf):
return opts
def _getgrabfunc(self):
- if not self._grabfunc or self._callbacks_changed:
- self._setupGrab()
- self._callbacks_changed = False
+ if not self._grabfunc:
+ self._setupGrabFunc()
return self._grabfunc
def _getgrab(self):
- if not self._grab or self._callbacks_changed:
+ if not self._grab:
self._setupGrab()
- self._callbacks_changed = False
return self._grab
grabfunc = property(lambda self: self._getgrabfunc())
@@ -1666,19 +1663,19 @@ Insufficient space in download directory %s
def setCallback(self, callback):
self.callback = callback
- self._callbacks_changed = True
+ self._grabfunc = self._grab = None
def setFailureObj(self, failure_obj):
self.failure_obj = failure_obj
- self._callbacks_changed = True
+ self._grabfunc = self._grab = None
def setMirrorFailureObj(self, failure_obj):
self.mirror_failure_obj = failure_obj
- self._callbacks_changed = True
+ self._grab = None
def setInterruptCallback(self, callback):
self.interrupt_callback = callback
- self._callbacks_changed = True
+ self._grabfunc = self._grab = None
def _readMirrorList(self, fo, url=None):
""" read the mirror list from the specified file object """
--
1.7.4.4
_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel