[yum-cvs] yum/yum packageSack.py,1.8,1.9 packages.py,1.54,1.55

Seth Vidal skvidal at linux.duke.edu
Fri Aug 25 04:25:13 UTC 2006


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

Modified Files:
	packageSack.py packages.py 
Log Message:

- clean up a few uses of compareEVR
- add requires, conflicts, provides, obsoletes properties to package objects
- add a remote_path attribute to YumAvailablePackage objects for easier
reference


Index: packageSack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packageSack.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- packageSack.py	22 Aug 2006 17:44:42 -0000	1.8
+++ packageSack.py	25 Aug 2006 04:25:10 -0000	1.9
@@ -489,14 +489,11 @@
             where = self.returnPackages()
 
         for pkg in where:
-            (n, e, v ,r, a) = pkg.returnNevraTuple()
-            if not highdict.has_key((n, a)):
-                highdict[(n, a)] = pkg
+            if not highdict.has_key((pkg.name, pkg.arch)):
+                highdict[(pkg.name, pkg.arch)] = pkg
             else:
-                pkg2 = highdict[(n, a)]
-                (e2, v2, r2) = pkg2.returnEVR()
-                rc = miscutils.compareEVR((e,v,r), (e2, v2, r2))
-                if rc > 0:
+                pkg2 = highdict[(pkg.name, pkg.arch)]
+                if pkg > pkg2:
                     highdict[(n, a)] = pkg
         
         if naTup:
@@ -513,18 +510,15 @@
            be compared to each other for highest version"""
         highdict = {}
         for pkg in self.returnPackages():
-            (n, e, v ,r, a) = pkg.returnNevraTuple()
-            if not highdict.has_key(n):
-                highdict[n] = []
-                highdict[n].append(pkg)
+            if not highdict.has_key(pkg.name):
+                highdict[pkg.name] = []
+                highdict[pkg.name].append(pkg)
             else:
-                pkg2 = highdict[n][0]
-                (e2, v2, r2) = pkg2.returnEVR()
-                rc = miscutils.compareEVR((e,v,r), (e2, v2, r2))
-                if rc > 0:
-                    highdict[n] = [pkg]
-                elif rc == 0:
-                    highdict[n].append(pkg)
+                pkg2 = highdict[pkg.name][0]
+                if pkg > pkg2:
+                    highdict[pkg.name] = [pkg]
+                if pkg == pkg2:
+                    highdict[pkg.name].append(pkg)
                 
         if name:
             if highdict.has_key(name):

Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- packages.py	23 Aug 2006 11:59:57 -0000	1.54
+++ packages.py	25 Aug 2006 04:25:10 -0000	1.55
@@ -156,12 +156,6 @@
                                            self.returnSimple('arch'))
         return string                                           
 
-    def returnEVR(self):
-        """returns a tuple of epoch, ver, rel"""
-        return (self.returnSimple('epoch'), self.returnSimple('version'), self.returnSimple('release'))
-        
-        return                            
-
     def returnChangelog(self):
         """return changelog entries"""
         return self.changelog
@@ -264,7 +258,7 @@
                 if f != 'EQ':
                     # isn't this odd, it's not 'EQ' - it really should be
                     # use the pkgobj's evr for the comparison
-                    (e, v, r) = self.returnEVR()
+                    (e, v, r) = (self.epoch, self.ver, self.rel)
                 # and you thought we were done having fun
                 # if the requested release is left out then we have
                 # to remove release from the package prco to make sure the match
@@ -329,7 +323,8 @@
             self.rel = self.returnSimple('release')
             self.arch = self.returnSimple('arch')
             self.pkgtup = self._pkgtup()
-         
+            self.remote_path = self.returnSimple('relativepath')
+            
     def size(self):
         return self.returnSimple('packagesize')
 
@@ -349,6 +344,24 @@
         ver = self.printVer()
         return "%s.%s %s" % (self.name, self.arch, ver)
 
+    def _requires(self):
+        return self.returnPrco('requires')
+    
+    def _provides(self):
+        return self.returnPrco('provides')
+    
+    def _obsoletes(self):
+        return self.returnPrco('obsoletes')
+        
+    def _conflicts(self):
+        return self.returnPrco('conflicts')
+
+    requires = property(_requires)
+    provides = property(_provides)
+    obsoletes = property(_obsoletes)
+    conflicts = property(_conflicts)
+    
+    
     def returnLocalHeader(self):
         """returns an rpm header object from the package object's local
            header cache"""
@@ -424,7 +437,9 @@
             reqlist.append(prcostr)
         
         return reqlist
-        
+    
+    
+    
     def importFromDict(self, pkgdict):
         """handles an mdCache package dictionary item to populate out 
            the package information"""




More information about the Yum-cvs-commits mailing list