[yum-cvs] yum/yum yumRepo.py,1.44,1.45
Jeremy Katz
katzj at linux.duke.edu
Wed Apr 25 22:12:36 UTC 2007
Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv14353/yum
Modified Files:
yumRepo.py
Log Message:
make repoXML a property so that we don't get it until we need it. this
fixes --disablerepo (rh#230851) and -C working offline (rh#223607)
Index: yumRepo.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/yumRepo.py,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- yumRepo.py 25 Apr 2007 18:28:31 -0000 1.44
+++ yumRepo.py 25 Apr 2007 22:12:34 -0000 1.45
@@ -213,7 +213,7 @@
self.groupsfilename = 'yumgroups.xml' # something some freaks might
# eventually want
self.repoMDFile = 'repodata/repomd.xml'
- self.repoXML = None
+ self._repoXML = None
self.cache = 0
self.mirrorlistparsed = 0
self.yumvar = {} # empty dict of yumvariables for $string replacement
@@ -446,6 +446,7 @@
goodurls = []
if self.mirrorlist and not self.mirrorlistparsed:
mirrorurls = getMirrorList(self.mirrorlist, self.proxy_dict)
+ print mirrorurls
self.mirrorlistparsed = 1
for url in mirrorurls:
url = parser.varReplace(url, self.yumvar)
@@ -629,18 +630,13 @@
except Errors.RepoError, e:
raise
- try:
- self._loadRepoXML(text=self)
- except Errors.RepoError, e:
- raise Errors.RepoError, ('Cannot open/read repomd.xml file for repository: %s' % self)
-
def _loadRepoXML(self, text=None):
"""retrieve/check/read in repomd.xml from the repository"""
remote = self.repoMDFile
local = self.cachedir + '/repomd.xml'
- if self.repoXML is not None:
+ if self._repoXML is not None:
return
if self.cache or self.metadataCurrent():
@@ -666,10 +662,24 @@
self.setMetadataCookie()
try:
- self.repoXML = repoMDObject.RepoMD(self.id, result)
+ self._repoXML = repoMDObject.RepoMD(self.id, result)
except Errors.RepoMDError, e:
raise Errors.RepoError, 'Error importing repomd.xml from %s: %s' % (self, e)
+ def _getRepoXML(self):
+ if self._repoXML:
+ return self._repoXML
+ try:
+ self._loadRepoXML(text=self)
+ except Errors.RepoError, e:
+ raise Errors.RepoError, ('Cannot open/read repomd.xml file for repository: %s' % self)
+ return self._repoXML
+
+
+ repoXML = property(fget=lambda self: self._getRepoXML(),
+ fset=lambda self, val: setattr(self, "_repoXML", val),
+ fdel=lambda self: setattr(self, "_repoXML", None))
+
def _checkRepoXML(self, fo):
if type(fo) is types.InstanceType:
filepath = fo.filename
More information about the Yum-cvs-commits
mailing list