From d3268379ec572c8dd58082f84f664c46b1e3fca7 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Wed, 30 Jun 2004 15:03:30 +0000 Subject: 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 --- src/GeneratorUtils.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src') 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() -- cgit v1.2.3-1-g7c22