[yum-cvs] yum-utils repoquery.py,1.8,1.9
Seth Vidal
skvidal at login.linux.duke.edu
Sat Jun 4 19:37:49 UTC 2005
Update of /home/groups/yum/cvs/yum-utils
In directory login:/tmp/cvs-serv9830
Modified Files:
repoquery.py
Log Message:
allow repoquery to handle pkg args like yum
Index: repoquery.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoquery.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- repoquery.py 2 Jun 2005 18:59:07 -0000 1.8
+++ repoquery.py 4 Jun 2005 19:37:47 -0000 1.9
@@ -29,6 +29,7 @@
import yum
import yum.config
import yum.Errors
+import yum.packages
import repomd.mdErrors
version = "0.0.7"
@@ -225,7 +226,7 @@
grps.append(grp)
return grps
else:
- return self.queryPkgFactory(self.pkgSack.returnNewestByNameArch())
+ return self.queryPkgFactory(self.pkgSack.returnPackages())
def returnNewestByName(self, name):
pkgs = []
@@ -243,26 +244,19 @@
self.errorlog(0, "No package provides %s" % depstring)
return self.queryPkgFactory(provider)
- def matchPkgs(self, regexs):
- if not regexs:
+ def matchPkgs(self, items):
+ if not items:
return self.returnItems()
-
+
pkgs = []
notfound = {}
+
+ exact, match, unmatch = yum.packages.parsePackages(self.pkgSack.returnPackages(),
+ items, casematch=1)
+ pkgs = exact + match
+ notfound = unmatch
- for pkg in self.returnItems():
- for expr in regexs:
- if pkg.name == expr or fnmatch.fnmatch("%s" % pkg.name, expr):
- pkgs.append(pkg)
- else:
- notfound[expr] = None
-
- # This catches too many innocent victims which aren't packages at all
- # so disabling for now
- #for expr in notfound.keys():
- # self.errorlog(0, 'No match found for %s' % expr)
-
- return pkgs
+ return self.queryPkgFactory(pkgs)
def runQuery(self, items):
pkgs = self.matchPkgs(items)
More information about the Yum-cvs-commits
mailing list