[yum-commits] 2 commits - repoquery.py yumdb.py
James Antill
james at osuosl.org
Wed May 6 15:31:27 UTC 2009
repoquery.py | 4 +++-
yumdb.py | 47 +++++++++++++++++++++++++++++++++++++++--------
2 files changed, 42 insertions(+), 9 deletions(-)
New commits:
commit 1228e4df77f00b27e18b70f68fd58b5c63d530ad
Author: James Antill <james at and.org>
Date: Wed May 6 11:30:11 2009 -0400
Be a bit nicer with filtering out installed pkgs.
Still do the same thing by default.
But if they specify pkgnarrow=installed (or all) don't filter them.
diff --git a/repoquery.py b/repoquery.py
index ee9322b..0991fb1 100755
--- a/repoquery.py
+++ b/repoquery.py
@@ -394,7 +394,9 @@ class YumBaseQuery(yum.YumBase):
qpkgs = []
for pkg in pkgs:
if isinstance(pkg, yum.packages.YumInstalledPackage):
- continue
+ if self.options.pkgnarrow not in ('all', 'installed'):
+ continue
+ qpkg = instPkgQuery(pkg, qf)
else:
qpkg = repoPkgQuery(pkg, qf)
qpkgs.append(qpkg)
commit 3d9db4df4fa4fcdcb3dbaa729f695a9997b5ed35
Author: James Antill <james at and.org>
Date: Fri May 1 16:12:45 2009 -0400
Add rename command to yumdb
diff --git a/yumdb.py b/yumdb.py
index 2274af7..24222ae 100755
--- a/yumdb.py
+++ b/yumdb.py
@@ -15,14 +15,16 @@ def setup_opts():
vers_txt = "Manage yum groups metadata version %s" % version
usage_txt = """\
%prog <command> ...
- get <key> [pkg-wildcard]...
- set <key> <value> [pkg-wildcard]...
- del <key> [pkg-wildcard]...
- search <key> <wildcard>...
- exist? <key> [pkg-wildcard]...
- unset? <key> [pkg-wildcard]...
- info [pkg-wildcard]...
- shell [filename]...
+ get <key> [pkg-wildcard]...
+ set <key> <value> [pkg-wildcard]...
+ del <key> [pkg-wildcard]...
+ rename <key> <key> [pkg-wildcard]...
+ rename-force <key> <key> [pkg-wildcard]...
+ search <key> <wildcard>...
+ exist? <key> [pkg-wildcard]...
+ unset? <key> [pkg-wildcard]...
+ info [pkg-wildcard]...
+ shell [filename]...
"""
parser = optparse.OptionParser(usage = usage_txt, version = vers_txt)
@@ -53,6 +55,35 @@ def run_cmd(yb, args, inshell=False):
setattr(pkg.yumdb_info, ykey, yval)
print pkg
print " " * 4, ykey, '=', getattr(pkg.yumdb_info, ykey)
+ elif args[0] == 'rename' and len(args) > 2:
+ args.pop(0)
+ yokey = args.pop(0)
+ ynkey = args.pop(0)
+ for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)):
+ print pkg
+ if yokey in pkg.yumdb_info:
+ setattr(pkg.yumdb_info, ynkey, getattr(pkg.yumdb_info, yokey))
+ delattr(pkg.yumdb_info, yokey)
+ print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey)
+ elif ynkey in pkg.yumdb_info:
+ print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey)
+ else:
+ print " " * 4, ynkey, '<unset>'
+ elif args[0] in ['rename-f', 'rename-force'] and len(args) > 2:
+ args.pop(0)
+ yokey = args.pop(0)
+ ynkey = args.pop(0)
+ for pkg in sorted(yb.rpmdb.returnPackages(patterns=args)):
+ print pkg
+ if yokey in pkg.yumdb_info:
+ setattr(pkg.yumdb_info, ynkey, getattr(pkg.yumdb_info, yokey))
+ delattr(pkg.yumdb_info, yokey)
+ print " " * 4, ynkey, '=', getattr(pkg.yumdb_info, ynkey)
+ elif ynkey in pkg.yumdb_info:
+ delattr(pkg.yumdb_info, ynkey)
+ print " " * 4, ynkey, '<unset>'
+ else:
+ print " " * 4, ynkey, '<unset>'
elif args[0] in ['del', 'delete', 'rm', 'remove'] and len(args) > 1:
args.pop(0)
ykey = args.pop(0)
More information about the Yum-commits
mailing list