[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