[yum-cvs] yum/yum __init__.py,1.235,1.236 packages.py,1.59,1.60

Seth Vidal skvidal at linux.duke.edu
Tue Aug 29 15:51:05 UTC 2006


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

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

make 'yum provides' stop backtracing on provides
add providesnames property to package objects


Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.235
retrieving revision 1.236
diff -u -r1.235 -r1.236
--- __init__.py	25 Aug 2006 05:13:23 -0000	1.235
+++ __init__.py	29 Aug 2006 15:51:03 -0000	1.236
@@ -1273,7 +1273,7 @@
                 
                 self.verbose_logger.log(logginglevels.DEBUG_2,
                     'searching in provides entries')
-                for (p_name, p_flag, (p_e, p_v, p_r)) in po.returnPrco('provides'):
+                for (p_name, p_flag, (p_e, p_v, p_r)) in po.provides:
                     if arg_re.search(p_name):
                         prov = po.prcoPrintable((p_name, p_flag, (p_e, p_v, p_r)))
                         tmpvalues.append(prov)
@@ -1285,7 +1285,7 @@
         
         self.doRpmDBSetup()
         # installed rpms, too
-        taglist = ['filenames', 'dirnames', 'provides']
+        taglist = ['filenames', 'dirnames', 'providesnames']
         arg_re = []
         for arg in args:
             restring = self._refineSearchPattern(arg)
@@ -1295,31 +1295,29 @@
                 raise Errors.MiscError, \
                  'Search Expression: %s is an invalid Regular Expression.\n' % arg
             
-            arg_re.append(reg)
 
-        for po in self.rpmdb:
-            tmpvalues = []
-            searchlist = []
-            for tag in taglist:
-                tagdata = po.returnSimple(tag)
-                if tagdata is None:
-                    continue
-                if type(tagdata) is types.ListType:
-                    searchlist.extend(tagdata)
-                else:
-                    searchlist.append(tagdata)
-            
-            for reg in arg_re:
+            for po in self.rpmdb:
+                tmpvalues = []
+                searchlist = []
+                for tag in taglist:
+                    tagdata = po.returnSimple(tag)
+                    if tagdata is None:
+                        continue
+                    if type(tagdata) is types.ListType:
+                        searchlist.extend(tagdata)
+                    else:
+                        searchlist.append(tagdata)
+                
                 for item in searchlist:
                     if reg.search(item):
                         tmpvalues.append(item)
-
-            del searchlist
-
-            if len(tmpvalues) > 0:
-                if callback:
-                    callback(po, tmpvalues)
-                matches[po] = tmpvalues
+    
+                del searchlist
+    
+                if len(tmpvalues) > 0:
+                    if callback:
+                        callback(po, tmpvalues)
+                    matches[po] = tmpvalues
             
             
         return matches

Index: packages.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/packages.py,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- packages.py	25 Aug 2006 06:45:20 -0000	1.59
+++ packages.py	29 Aug 2006 15:51:03 -0000	1.60
@@ -332,10 +332,22 @@
     def _conflicts(self):
         return self.returnPrco('conflicts')
 
+    def getProvidesNames(self):
+        """returns a list of providesNames"""
+        
+        provnames = []
+        prov = self.returnPrco('provides')
+        
+        for (name, flag, vertup) in prov:
+            provnames.append(name)
+
+        return provnames
+
     requires = property(_requires)
     provides = property(_provides)
     obsoletes = property(_obsoletes)
     conflicts = property(_conflicts)
+    providesnames = property(getProvidesNames)
     
     def _size(self):
         return self.returnSimple('packagesize')
@@ -363,16 +375,6 @@
 
         return hdr
 
-    def getProvidesNames(self):
-        """returns a list of providesNames"""
-        
-        provnames = []
-        prov = self.returnPrco('provides')
-        
-        for (name, flag, vertup) in prov:
-            provnames.append(name)
-
-        return provnames
        
     def localPkg(self):
         """return path to local package (whether it is present there, or not)"""




More information about the Yum-cvs-commits mailing list