summaryrefslogtreecommitdiffstats
path: root/src/sbin/bcfg2-info
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-22 08:41:40 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-03-22 08:41:40 -0400
commiteaf951368889133c7298bd05254885d324aed3b1 (patch)
treeb009807c33c046b41baa5b2448dc3bdd85e9f857 /src/sbin/bcfg2-info
parentc82d16cde57b107d5a1a3328d2799c4e24b79728 (diff)
downloadbcfg2-eaf951368889133c7298bd05254885d324aed3b1.tar.gz
bcfg2-eaf951368889133c7298bd05254885d324aed3b1.tar.bz2
bcfg2-eaf951368889133c7298bd05254885d324aed3b1.zip
bcfg2-info: made packageresolve use code from Packages instead of reinventing the wheel
Diffstat (limited to 'src/sbin/bcfg2-info')
-rwxr-xr-xsrc/sbin/bcfg2-info29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/sbin/bcfg2-info b/src/sbin/bcfg2-info
index 311784606..5bbe5b43b 100755
--- a/src/sbin/bcfg2-info
+++ b/src/sbin/bcfg2-info
@@ -641,21 +641,24 @@ Bcfg2 client itself.""")
if 'Packages' not in self.plugins:
print("Packages plugin not enabled")
return
+ self.plugins['Packages'].toggle_debug()
+
+ indep = lxml.etree.Element("Independent")
+ structures = [lxml.etree.Element("Bundle", name="packages")]
+ for arg in arglist[1:]:
+ lxml.etree.SubElement(structures[0], "Package", name=arg)
+
hostname = arglist[0]
- initial = arglist[1:]
metadata = self.build_metadata(hostname)
- self.plugins['Packages'].toggle_debug()
- collection = self.plugins['Packages'].get_collection(metadata)
- packages, unknown = collection.complete(initial)
- newpkgs = list(packages.difference(initial))
- print("%d initial packages" % len(initial))
- print(" %s" % "\n ".join(initial))
- print("%d new packages added" % len(newpkgs))
- if newpkgs:
- print(" %s" % "\n ".join(newpkgs))
- print("%d unknown packages" % len(unknown))
- if unknown:
- print(" %s" % "\n ".join(unknown))
+
+ # pylint: disable=W0212
+ self.plugins['Packages']._build_packages(metadata, indep, structures)
+ # pylint: enable=W0212
+
+ print("%d new packages added" % len(indep.getchildren()))
+ if len(indep.getchildren()):
+ print(" %s" % "\n ".join(lxml.etree.tostring(p)
+ for p in indep.getchildren()))
def do_packagesources(self, args):
""" packagesources <hostname> - Show package sources """