[yum-cvs] yum/yum repos.py,1.72,1.73 sqlitesack.py,1.19,1.20

Seth Vidal skvidal at login.linux.duke.edu
Fri Mar 18 13:47:45 UTC 2005


Update of /home/groups/yum/cvs/yum/yum
In directory login:/tmp/cvs-serv4463/yum

Modified Files:
	repos.py sqlitesack.py 
Log Message:

make sqliteSack.getPrco only search for the requested prco type, If none
specified it searches for all.
modify yum/repos.py to allow for unsetting sqlite backend db selection.



Index: repos.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/repos.py,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- repos.py	9 Mar 2005 08:14:20 -0000	1.72
+++ repos.py	18 Mar 2005 13:47:43 -0000	1.73
@@ -105,12 +105,17 @@
             self.sqlite = True
             self.sqlitecache = sqlitecache
             
+        self._selectSackType()
+    
+    def _selectSackType(self):
+
         if (self.sqlite):
+            import sqlitecache
+            import sqlitesack
             self.pkgSack = sqlitesack.YumSqlitePackageSack(sqlitesack.YumAvailablePackageSqlite)
         else:
             self.pkgSack = YumPackageSack(YumAvailablePackage)
-            
-    
+        
     def __str__(self):
         return self.repos.keys()
     

Index: sqlitesack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/sqlitesack.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- sqlitesack.py	15 Mar 2005 20:02:07 -0000	1.19
+++ sqlitesack.py	18 Mar 2005 13:47:43 -0000	1.20
@@ -71,7 +71,7 @@
 
     def returnPrco(self, prcotype):
         if not self.prco[prcotype]:
-           self.prco = self.sack.getPrco(self.pkgId)
+           self.prco = self.sack.getPrco(self.pkgId, prcotype)
         return self.prco[prcotype]
 
 class YumSqlitePackageSack(repos.YumPackageSack):
@@ -136,8 +136,11 @@
                               ))
         return result
 
-    def getPrco(self, pkgId):
-        result = {'requires': [], 'provides': [], 'obsoletes': [], 'conflicts': []}
+    def getPrco(self,pkgId, prcotype=None):
+        if prcotype is not None:
+            result = {'requires': [], 'provides': [], 'obsoletes': [], 'conflicts': []}
+        else:
+            result = { prcotype: [] }
         for (rep, cache) in self.primarydb.items():
             cur = cache.cursor()
             for prco in result.keys():
@@ -292,6 +295,7 @@
                     }
                     results.append(self.pc(pkg,rep))
 
+
         # If it's not a provides or a filename, we are done
         if (prcotype != "provides" or name.find('/') != 0):
             return results




More information about the Yum-cvs-commits mailing list