diff options
author | Sol Jerome <solj@ices.utexas.edu> | 2008-09-12 21:25:16 +0000 |
---|---|---|
committer | Sol Jerome <solj@ices.utexas.edu> | 2008-09-12 21:25:16 +0000 |
commit | 01e56e153fd83c0b51760cf4ec04cc07e39bcc1b (patch) | |
tree | 8999bb657bb258d41d83244c0506c43956775512 /src/lib/Server/Admin/Compare.py | |
parent | cd78f764f64ea2984c6382a20b7ffd7d44345995 (diff) | |
download | bcfg2-01e56e153fd83c0b51760cf4ec04cc07e39bcc1b.tar.gz bcfg2-01e56e153fd83c0b51760cf4ec04cc07e39bcc1b.tar.bz2 bcfg2-01e56e153fd83c0b51760cf4ec04cc07e39bcc1b.zip |
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
Diffstat (limited to 'src/lib/Server/Admin/Compare.py')
-rw-r--r-- | src/lib/Server/Admin/Compare.py | 30 |
1 files changed, 18 insertions, 12 deletions
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 <file1> <file2>\nbcfg2-admin compare -r <dir1> <dir2>" - __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 <file1> <file2>" + "\nbcfg2-admin compare -r <dir1> <dir2>") + __usage__ = ("bcfg2-admin compare <old> <new>\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) |