diff options
author | Andrew Brestick <brestick@mcs.anl.gov> | 2008-07-31 20:50:44 +0000 |
---|---|---|
committer | Andrew Brestick <brestick@mcs.anl.gov> | 2008-07-31 20:50:44 +0000 |
commit | e9e94e78bb52ca2ec36e3f3402dbde3f8289cdf3 (patch) | |
tree | 5f8c573da32e0f3dba86555a3534909abd2bb2d2 /src/lib/Server/Admin/Viz.py | |
parent | 7c6c1636a0841ea9c5b28a4223c0cd3677eede53 (diff) | |
download | bcfg2-e9e94e78bb52ca2ec36e3f3402dbde3f8289cdf3.tar.gz bcfg2-e9e94e78bb52ca2ec36e3f3402dbde3f8289cdf3.tar.bz2 bcfg2-e9e94e78bb52ca2ec36e3f3402dbde3f8289cdf3.zip |
added support for alternate metadata plugins in bcfg2-admin
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4845 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Admin/Viz.py')
-rw-r--r-- | src/lib/Server/Admin/Viz.py | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/lib/Server/Admin/Viz.py b/src/lib/Server/Admin/Viz.py index dfc8b3392..d2eeb3370 100644 --- a/src/lib/Server/Admin/Viz.py +++ b/src/lib/Server/Admin/Viz.py @@ -2,7 +2,7 @@ import getopt, popen2, lxml.etree import Bcfg2.Server.Admin -class Viz(Bcfg2.Server.Admin.Mode): +class Viz(Bcfg2.Server.Admin.MetadataCore): __shorthelp__ = '''bcfg2-admin viz [--includehosts] [--includebundles] [--includekey] [-o output.png] [--raw]''' __longhelp__ = __shorthelp__ + '\n\tProduce graphviz diagrams of metadata structures' @@ -11,10 +11,10 @@ class Viz(Bcfg2.Server.Admin.Mode): 'green1', 'blue1', 'yellow1', 'darkturquoise', 'gray66'] def __init__(self, cfile): - Bcfg2.Server.Admin.Mode.__init__(self, cfile) + Bcfg2.Server.Admin.MetadataCore.__init__(self, cfile) def __call__(self, args): - Bcfg2.Server.Admin.Mode.__call__(self, args) + Bcfg2.Server.Admin.MetadataCore.__call__(self, args) # First get options to the 'viz' subcommand try: opts, args = getopt.getopt(args, 'rhbko:', @@ -48,9 +48,7 @@ class Viz(Bcfg2.Server.Admin.Mode): def Visualize(self, repopath, raw=False, hosts=False, bundles=False, key=False, output=False): '''Build visualization of groups file''' - groupdata = lxml.etree.parse(repopath + '/Metadata/groups.xml') - groupdata.xinclude() - groups = groupdata.getroot() + groups = self.metadata.get_groups() if raw: cmd = "dd bs=4M" if output: @@ -78,13 +76,12 @@ class Viz(Bcfg2.Server.Admin.Mode): dotpipe.tochild.write('\trankdir="LR";\n') if hosts: - clients = lxml.etree.parse(repopath + \ - '/Metadata/clients.xml').getroot() - for client in clients.findall('Client'): - if instances.has_key(client.get('profile')): - instances[client.get('profile')].append(client.get('name')) + clients = self.metadata.clients + for client, profile in clients.iteritems(): + if instances.has_key(profile): + instances[profile].append(client) else: - instances[client.get('profile')] = [client.get('name')] + instances[profile] = [client] for profile, clist in instances.iteritems(): clist.sort() dotpipe.tochild.write( |