From 01e56e153fd83c0b51760cf4ec04cc07e39bcc1b Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Fri, 12 Sep 2008 21:25:16 +0000 Subject: Improve help messages for bcfg2-admin (and modes) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4910 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Admin/Compare.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'src/lib/Server/Admin/Compare.py') diff --git a/src/lib/Server/Admin/Compare.py b/src/lib/Server/Admin/Compare.py index 124c0c647..f97233b0e 100644 --- a/src/lib/Server/Admin/Compare.py +++ b/src/lib/Server/Admin/Compare.py @@ -1,13 +1,16 @@ - import lxml.etree, os import Bcfg2.Server.Admin class Compare(Bcfg2.Server.Admin.Mode): - __shorthelp__ = "bcfg2-admin compare \nbcfg2-admin compare -r " - __longhelp__ = __shorthelp__ + '''\n\tCompare mode determines differences between directories of client specification instances''' - - def __init__(self): - Bcfg2.Server.Admin.Mode.__init__(self) + __shorthelp__ = ("Determine differences between files or " + "directories of client specification instances") + __longhelp__ = (__shorthelp__ + "\n\nbcfg2-admin compare " + "\nbcfg2-admin compare -r ") + __usage__ = ("bcfg2-admin compare \n\n" + " -r\trecursive") + + def __init__(self, configfile): + Bcfg2.Server.Admin.Mode.__init__(self, configfile) self.important = {'Package':['name', 'version'], 'Service':['name', 'status'], 'Directory':['name', 'owner', 'group', 'perms'], @@ -15,15 +18,17 @@ class Compare(Bcfg2.Server.Admin.Mode): 'ConfigFile':['name', 'owner', 'group', 'perms'], 'Permissions':['name', 'perms'], 'PostInstall':['name']} - + def compareStructures(self, new, old): for child in new.getchildren(): - equiv = old.xpath('%s[@name="%s"]' % (child.tag, child.get('name'))) + equiv = old.xpath('%s[@name="%s"]' % + (child.tag, child.get('name'))) if child.tag in self.important: print "tag type %s not handled" % (child.tag) continue if len(equiv) == 0: - print "didn't find matching %s %s" % (child.tag, child.get('name')) + print ("didn't find matching %s %s" % + (child.tag, child.get('name'))) continue elif len(equiv) >= 1: if child.tag == 'ConfigFile': @@ -106,6 +111,9 @@ class Compare(Bcfg2.Server.Admin.Mode): def __call__(self, args): Bcfg2.Server.Admin.Mode.__call__(self, args) + if len(args) == 0: + self.errExit("No argument specified.\n" + "Please see bcfg2-admin compare help for usage.") if '-r' in args: args = list(args) args.remove('-r') @@ -126,6 +134,4 @@ class Compare(Bcfg2.Server.Admin.Mode): (old, new) = args except IndexError: print self.__call__.__doc__ - raise SystemExit - - + raise SystemExit(1) -- cgit v1.2.3-1-g7c22