[yum-cvs] yum-utils repoquery.py,1.31,1.32
Panu Matilainen
pmatilai at linux.duke.edu
Mon Apr 3 15:45:43 UTC 2006
Update of /home/groups/yum/cvs/yum-utils
In directory login1.linux.duke.edu:/tmp/cvs-serv1857
Modified Files:
repoquery.py
Log Message:
- resurrect group operations with yum 2.6.x API
Index: repoquery.py
===================================================================
RCS file: /home/groups/yum/cvs/yum-utils/repoquery.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- repoquery.py 27 Mar 2006 16:15:49 -0000 1.31
+++ repoquery.py 3 Apr 2006 15:45:41 -0000 1.32
@@ -253,11 +253,11 @@
class groupQuery:
- def __init__(self, groupinfo, name, grouppkgs="required"):
- self.groupInfo = groupinfo
+ def __init__(self, group, grouppkgs="required"):
self.grouppkgs = grouppkgs
- self.name = name
- self.group = groupinfo.group_by_id[name]
+ self.id = group.groupid
+ self.name = group.name
+ self.group = group
def doQuery(self, method, *args, **kw):
if hasattr(self, "fmt_%s" % method):
@@ -270,31 +270,29 @@
return self.fmt_nevra()
def fmt_nevra(self):
- return ["%s - %s" % (self.group.id, self.group.name)]
+ return ["%s - %s" % (self.id, self.name)]
def fmt_list(self):
pkgs = []
for t in self.grouppkgs.split(','):
- if t == "required":
- pkgs.extend(self.groupInfo.requiredPkgs(self.name))
- elif t == "mandatory":
- pkgs.extend(self.groupInfo.mandatory_pkgs[self.name])
+ if t == "mandatory":
+ pkgs.extend(self.group.mandatory_packages)
elif t == "default":
- pkgs.extend(self.groupInfo.default_pkgs[self.name])
+ pkgs.extend(self.group.default_packages)
elif t == "optional":
- pkgs.extend(self.groupInfo.optional_pkgs[self.name])
+ pkgs.extend(self.group.optional_packages)
elif t == "all":
- pkgs.extend(self.groupInfo.allPkgs(self.name))
+ pkgs.extend(self.group.packages)
else:
raise "Unknown group package type %s" % t
return pkgs
def fmt_requires(self):
- return self.groupInfo.requiredGroups(self.name)
+ return self.group.mandatory_packages
def fmt_info(self):
- return ["%s:\n\n%s\n" % (self.group.name, self.group.description)]
+ return ["%s:\n\n%s\n" % (self.name, self.group.description)]
class YumBaseQuery(yum.YumBase):
def __init__(self, pkgops = [], sackops = [], options = None):
@@ -362,9 +360,8 @@
def returnGroups(self):
grps = []
- for name in self.groupInfo.grouplist:
- grp = groupQuery(self.groupInfo, name,
- grouppkgs = self.options.grouppkgs)
+ for group in self.comps.get_groups():
+ grp = groupQuery(group, grouppkgs = self.options.grouppkgs)
grps.append(grp)
return grps
@@ -374,6 +371,8 @@
for expr in items:
if grp.name == expr or fnmatch.fnmatch("%s" % grp.name, expr):
grps.append(grp)
+ elif grp.id == expr or fnmatch.fnmatch("%s" % grp.id, expr):
+ grps.append(grp)
return grps
def matchPkgs(self, items):
@@ -411,9 +410,9 @@
def fmt_groupmember(self, name, **kw):
grps = []
- for id in self.groupInfo.grouplist:
- if name in self.groupInfo.allPkgs(id):
- grps.append(id)
+ for group in self.comps.get_groups():
+ if name in group.packages:
+ grps.append(group.groupid)
return grps
def fmt_whatprovides(self, name, **kw):
@@ -524,7 +523,7 @@
# group stuff
parser.add_option("-g", "--group", default=0, action="store_true",
help="query groups instead of packages")
- parser.add_option("--grouppkgs", default="required", dest="grouppkgs",
+ parser.add_option("--grouppkgs", default="default", dest="grouppkgs",
help="filter which packages (all,optional etc) are shown from groups")
# other opts
parser.add_option("--archlist", dest="archlist",
More information about the Yum-cvs-commits
mailing list