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