Hi spacewalkers,

I've updated the spacecmd "package.py" file, to add a new function "package_listdependencies".
Can you review and add this patch upstream.

Cheers,
Gregor Grüner
>From 28c227e56f6d3506a0ff97579576d9feeed7850c Mon Sep 17 00:00:00 2001
From: Gregor Gruener <ggru...@redhat.com>
Date: Fri, 20 Dec 2013 09:33:31 +0100
Subject: [PATCH] added function package_listdependencies

---
 spacecmd/spacecmd.spec      |  3 +++
 spacecmd/src/lib/package.py | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/spacecmd/spacecmd.spec b/spacecmd/spacecmd.spec
index 3b81360..12c9ed3 100644
--- a/spacecmd/spacecmd.spec
+++ b/spacecmd/spacecmd.spec
@@ -64,6 +64,9 @@ touch %{buildroot}/%{python_sitelib}/spacecmd/__init__.py
 %doc %{_mandir}/man1/spacecmd.1.gz
 
 %changelog
+* Fri Dec 20 2013 Gregor Gruener <ggru...@redhat.com> 2.1.21-1
+- added function package_listdependencies
+
 * Fri Dec 13 2013 Milan Zazrivec <mzazri...@redhat.com> 2.1.20-1
 - 1009841 - don't attempt to write out 'None'
 
diff --git a/spacecmd/src/lib/package.py b/spacecmd/src/lib/package.py
index ea2f355..8bbc8a7 100644
--- a/spacecmd/src/lib/package.py
+++ b/spacecmd/src/lib/package.py
@@ -297,4 +297,43 @@ def do_package_listerrata(self, args):
         if len(errata):
             print '\n'.join(sorted([ e.get('advisory') for e in errata ]))
 
+####################
+
+def help_package_listdependencies(self):
+    print 'package_listdependencies: List the dependencies for a package'
+    print 'usage: package_listdependencies PACKAGE'
+
+def do_package_listdependencies(self, args):
+    (args, options) = parse_arguments(args)
+
+    if not len(args):
+        self.help_package_listdependencies()
+        return
+
+    packages = []
+    for package in args:
+        packages.extend(self.do_package_search(' '.join(args), True))
+
+    if not len(packages):
+        logging.warning('No packages found')
+        return
+
+    add_separator = False
+
+    for package in packages:
+        if add_separator: print self.SEPARATOR
+        add_separator = True
+
+        package_id = self.get_package_id(package)
+
+        if not package_id:
+            logging.warning('%s is not a valid package' % package)
+            continue
+
+        package_id = int(package_id)
+        pkgdeps = self.client.packages.list_dependencies(self.session, package_id)
+        for dep in pkgdeps:
+            print 'Package Name: %s' % package
+            print 'Dependency: %s Type: %s Modifier: %s' % (dep['dependency'], dep['dependency_type'], dep['dependency_modifier'])
+
 # vim:ts=4:expandtab:
-- 
1.8.3.1

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to