[yum-cvs] yum cli.py,1.200,1.201
Seth Vidal
skvidal at linux.duke.edu
Tue Dec 13 06:51:22 UTC 2005
Update of /home/groups/yum/cvs/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv16454
Modified Files:
cli.py
Log Message:
make groupremove work
reduce some code duplication in groupRemove() and remove()
Index: cli.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/cli.py,v
retrieving revision 1.200
retrieving revision 1.201
diff -u -r1.200 -r1.201
--- cli.py 13 Dec 2005 06:31:25 -0000 1.200
+++ cli.py 13 Dec 2005 06:51:20 -0000 1.201
@@ -1346,7 +1346,7 @@
try:
txmbrs = self.selectGroup(group.groupid)
- except Errors.GroupsError, e:
+ except yum.Errors.GroupsError, e:
self.errorlog(0, _('Warning: Group %s does not exist.') % group)
continue
else:
@@ -1355,37 +1355,31 @@
if not pkgs_used:
return 0, ['No packages in any requested group available to install or update']
else:
- return 2, ['Package(s) to Install']
+ return 2, ['%d Package(s) to Install' % len(pkgs_used)]
def removeGroups(self, grouplist=None):
"""Remove only packages of the named group(s). Do not recurse."""
+ pkgs_used = []
+
if grouplist is None:
grouplist = self.extcmds
- if len(grouplist) == 0:
- self.usage()
-
erasesbygroup = []
- for group in grouplist:
- if not self.groupInfo.groupExists(group):
- self.errorlog(0, _('Warning: Group %s does not exist.') % group)
+ for group_string in grouplist:
+ try:
+ txmbrs = self.groupRemove(group_string)
+ except yum.Errors.GroupsError, e:
+ self.errorlog(0, 'No group named %s exists' % group_string)
continue
-
- allpkgs = self.groupInfo.allPkgs(group)
- for pkg in allpkgs:
- if self.rpmdb.installed(name=pkg):
- erasesbygroup.append((group, pkg))
-
- erases = []
- for (group, pkg) in erasesbygroup:
- self.log(2, _('From %s removing %s') % (group, pkg))
- erases.append(pkg)
-
- if len(erases) > 0:
- return self.erasePkgs(userlist=erases)
- else:
+ else:
+ pkgs_used.extend(txmbrs)
+
+ if not pkgs_used:
return 0, ['No packages to remove from groups']
+ else:
+ return 2, ['%d Package(s) to remove' % len(pkgs_used)]
+
def _promptWanted(self):
More information about the Yum-cvs-commits
mailing list