summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Admin/Viz.py
diff options
context:
space:
mode:
authorAndrew Brestick <brestick@mcs.anl.gov>2008-07-31 20:50:44 +0000
committerAndrew Brestick <brestick@mcs.anl.gov>2008-07-31 20:50:44 +0000
commite9e94e78bb52ca2ec36e3f3402dbde3f8289cdf3 (patch)
tree5f8c573da32e0f3dba86555a3534909abd2bb2d2 /src/lib/Server/Admin/Viz.py
parent7c6c1636a0841ea9c5b28a4223c0cd3677eede53 (diff)
downloadbcfg2-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.py21
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(