summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-06-30 15:03:30 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-06-30 15:03:30 +0000
commitd3268379ec572c8dd58082f84f664c46b1e3fca7 (patch)
treea11b873923f3ca262426d623cd52c20269ba0465 /src
parent4f999ef794c1284de30ac751000914049e3beb22 (diff)
downloadbcfg2-d3268379ec572c8dd58082f84f664c46b1e3fca7.tar.gz
bcfg2-d3268379ec572c8dd58082f84f664c46b1e3fca7.tar.bz2
bcfg2-d3268379ec572c8dd58082f84f664c46b1e3fca7.zip
fix XMLBacked confusion
2004/06/10 14:41:56-05:00 anl.gov!desai remove debug print (Logical change 1.22) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@97 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/GeneratorUtils.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/GeneratorUtils.py b/src/GeneratorUtils.py
index 82a4353a4..33f24fd0c 100644
--- a/src/GeneratorUtils.py
+++ b/src/GeneratorUtils.py
@@ -1,6 +1,8 @@
#!/usr/bin/env python
# $Id: $
+from elementtree.ElementTree import XML
+
class FileBacked(object):
'''This object caches file data in memory.
HandleEvent is called whenever fam registers an event.
@@ -18,6 +20,8 @@ class FileBacked(object):
pass
class DirectoryBacked(object):
+ __child__ = FileBacked
+
def __init__(self, name, fam):
self.name = name
self.fam = fam
@@ -32,12 +36,11 @@ class DirectoryBacked(object):
if self.entries.has_key(name):
print "got multiple adds"
else:
- self.entries[name] = FileBacked('%s/%s'%(self.name, name))
+ self.entries[name] = self.__child__('%s/%s'%(self.name, name))
self.entries[name].HandleEvent()
def HandleEvent(self, event):
action = event.code2str()
- print "Got event %s %s %s"%(event.requestID, event.code2str(), event.filename)
if action == 'exists':
if event.filename != self.name:
self.AddEntry(event.filename)
@@ -53,3 +56,10 @@ class DirectoryBacked(object):
else:
print "Got unknown event %s %s %s"%(event.requestID, event.code2str(), event.filename)
+class XMLFileBacked(FileBacked):
+ __identifier__ = 'name'
+
+ def Index(self):
+ a = XML(self.data)
+ self.label = a.attrib[self.__identifier__]
+ self.entries = a.getchildren()