[yum-cvs] yum/yum __init__.py,1.192,1.193

Paul Nasrat pnasrat at linux.duke.edu
Fri Mar 3 21:33:42 UTC 2006


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

Modified Files:
	__init__.py 
Log Message:
Add install(pattern=) support

Index: __init__.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/__init__.py,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -r1.192 -r1.193
--- __init__.py	3 Mar 2006 03:48:48 -0000	1.192
+++ __init__.py	3 Mar 2006 21:33:39 -0000	1.193
@@ -1660,14 +1660,21 @@
             if not kwargs.keys():
                 raise Errors.InstallError, 'Nothing specified to install'
 
-            nevra_dict = self._nevra_kwarg_parse(kwargs)
+            if kwargs.has_key('pattern'):
+                exactmatch, matched, unmatched = \
+                    parsePackages(self.pkgSack.returnPackages(),[kwargs['pattern']] , casematch=1)
+                pkgs.extend(exactmatch)
+                pkgs.extend(matched)
 
-            pkgs = self.pkgSack.searchNevra(name=nevra_dict['name'],
-                 epoch=nevra_dict['epoch'], arch=nevra_dict['arch'],
-                 ver=nevra_dict['version'], rel=nevra_dict['release'])
-            
-            if pkgs:
-                pkgs = self.bestPackagesFromList(pkgs)
+            else:
+                nevra_dict = self._nevra_kwarg_parse(kwargs)
+
+                pkgs = self.pkgSack.searchNevra(name=nevra_dict['name'],
+                     epoch=nevra_dict['epoch'], arch=nevra_dict['arch'],
+                     ver=nevra_dict['version'], rel=nevra_dict['release'])
+                
+                if pkgs:
+                    pkgs = self.bestPackagesFromList(pkgs)
 
         if len(pkgs) == 0:
             #FIXME - this is where we could check to see if it already installed




More information about the Yum-cvs-commits mailing list