[yum-commits] Branch 'yum-3_2_X' - yum/__init__.py

skvidal at osuosl.org skvidal at osuosl.org
Wed Mar 25 18:16:34 UTC 2009


 yum/__init__.py |   55 +++++++++++++++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 24 deletions(-)

New commits:
commit 7c169e386a905e4692df6a9dd0c76bd97f1a00ef
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Wed Mar 25 14:14:41 2009 -0400

    allow return[Installed]PackagesByDep() to take deptuples not just depstrings

diff --git a/yum/__init__.py b/yum/__init__.py
index d71b2f3..d526d8d 100644
--- a/yum/__init__.py
+++ b/yum/__init__.py
@@ -2241,18 +2241,22 @@ class YumBase(depsolve.Depsolve):
         #  either it is 'dep (some operator) e:v-r'
         #  or /file/dep
         #  or packagename
-        depname = depstring
-        depflags = None
-        depver = None
-        
-        if depstring[0] != '/':
-            # not a file dep - look at it for being versioned
-            dep_split = depstring.split()
-            if len(dep_split) == 3:
-                depname, flagsymbol, depver = dep_split
-                if not flagsymbol in SYMBOLFLAGS:
-                    raise Errors.YumBaseError, _('Invalid version flag')
-                depflags = SYMBOLFLAGS[flagsymbol]
+        # or a full dep tuple
+        if type(depstring) == types.TupleType:
+            (depname, depflags, depver) = depstring
+        else:
+            depname = depstring
+            depflags = None
+            depver = None
+        
+            if depstring[0] != '/':
+                # not a file dep - look at it for being versioned
+                dep_split = depstring.split()
+                if len(dep_split) == 3:
+                    depname, flagsymbol, depver = dep_split
+                    if not flagsymbol in SYMBOLFLAGS:
+                        raise Errors.YumBaseError, _('Invalid version flag')
+                    depflags = SYMBOLFLAGS[flagsymbol]
                 
         sack = self.whatProvides(depname, depflags, depver)
         results = sack.returnPackages()
@@ -2282,18 +2286,21 @@ class YumBase(depsolve.Depsolve):
         #  either it is 'dep (some operator) e:v-r'
         #  or /file/dep
         #  or packagename
-        depname = depstring
-        depflags = None
-        depver = None
-        
-        if depstring[0] != '/':
-            # not a file dep - look at it for being versioned
-            dep_split = depstring.split()
-            if len(dep_split) == 3:
-                depname, flagsymbol, depver = dep_split
-                if not flagsymbol in SYMBOLFLAGS:
-                    raise Errors.YumBaseError, _('Invalid version flag')
-                depflags = SYMBOLFLAGS[flagsymbol]
+        if type(depstring) == types.TupleType:
+            (depname, depflags, depver) = depstring
+        else:
+            depname = depstring
+            depflags = None
+            depver = None
+            
+            if depstring[0] != '/':
+                # not a file dep - look at it for being versioned
+                dep_split = depstring.split()
+                if len(dep_split) == 3:
+                    depname, flagsymbol, depver = dep_split
+                    if not flagsymbol in SYMBOLFLAGS:
+                        raise Errors.YumBaseError, _('Invalid version flag')
+                    depflags = SYMBOLFLAGS[flagsymbol]
 
         return self.rpmdb.getProvides(depname, depflags, depver).keys()
 


More information about the Yum-commits mailing list