summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/Snapshots.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2009-03-05 22:31:04 +0000
committerNarayan Desai <desai@mcs.anl.gov>2009-03-05 22:31:04 +0000
commit5c701e5172176742da4621322bdcc285c8b53bc7 (patch)
tree9d79171c3193c9effbf73588d90e295c952ae1a8 /src/lib/Server/Plugins/Snapshots.py
parent6042872b3dd7800674f0c70ff367fee7ecac413c (diff)
downloadbcfg2-5c701e5172176742da4621322bdcc285c8b53bc7.tar.gz
bcfg2-5c701e5172176742da4621322bdcc285c8b53bc7.tar.bz2
bcfg2-5c701e5172176742da4621322bdcc285c8b53bc7.zip
Snapshots: improve generality of the importer
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5105 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Plugins/Snapshots.py')
-rw-r--r--src/lib/Server/Plugins/Snapshots.py28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/lib/Server/Plugins/Snapshots.py b/src/lib/Server/Plugins/Snapshots.py
index 6f33fff4d..40a153034 100644
--- a/src/lib/Server/Plugins/Snapshots.py
+++ b/src/lib/Server/Plugins/Snapshots.py
@@ -24,36 +24,36 @@ class Snapshots(Bcfg2.Server.Plugin.Statistics,
t1 = time.time()
entries = dict([('Package', dict()),
('Service', dict()), ('Path', dict())])
- extra = dict([('Package', list()), ('Service', list()),
- ('Path', list())])
- pdisp = {'Package': 'version',
- 'Service': 'status'}
+ extra = dict([('Package', dict()), ('Service', dict()),
+ ('Path', dict())])
+ pdisp = {'Package': ['name', 'type', 'version'],
+ 'Service': ['name', 'type', 'status']}
for entry in xdata.find('.//Bad'):
if entry.tag not in pdisp:
print "Not Found", entry.tag, entry.get('name')
continue
else:
- data = [False, False, unicode(entry.get('type')),
- unicode(entry.get('%s_%s' % ('current', pdisp[entry.tag]))),
- unicode(entry.get('%s_%s' % ('current', pdisp[entry.tag])))]
+ edata = dict([(key, unicode(entry.get('current_%s' % key))) \
+ for key in pdisp[entry.tag]])
+ data = [False, False, edata, edata]
entries[entry.tag][entry.get('name')] = data
for entry in xdata.find('.//Modified'):
if entry.tag in pdisp:
if entry.get('name') in entries[entry.tag]:
entries[entry.tag][entry.get('name')][0] = True
else:
- data = [False, False, unicode(entry.get('type')),
- unicode(entry.get('%s_%s' % ('current', pdisp[entry.tag]))),
- unicode(entry.get(pdisp[entry.tag]))]
+ current = dict([(key, unicode(entry.get('current_%s' % key))) \
+ for key in pdisp[entry.tag]])
+ desired = dict([(key, unicode(entry.get(key))) \
+ for key in pdisp[entry.tag]])
+ data = [False, False, current, desired]
entries[entry.tag][entry.get('name')] = data
else:
print entry.tag, entry.get('name')
for entry in xdata.find('.//Extra'):
if entry.tag in pdisp:
- tname = pdisp[entry.tag]
- data = dict([('name', unicode(entry.get('name'))),
- ('type', unicode(entry.get('type'))),
- (tname, unicode(entry.get(tname)))])
+ current = dict([(key, unicode(entry.get(key))) for key in pdisp[entry.tag]])
+ extra[entry.tag][entry.get('name')] = current
else:
print "extra", entry.tag, entry.get('name')
t2 = time.time()