summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2004-08-11 19:54:35 +0000
committerNarayan Desai <desai@mcs.anl.gov>2004-08-11 19:54:35 +0000
commit06fad7969b1a3597fc80393de4634fa198d8dfa5 (patch)
treeced9fd2160d43d9328dc26aaabfc7d63dc3bbbf4 /src
parent97ee9e654ac62cb591f29529e39dd9ad61d74c9e (diff)
downloadbcfg2-06fad7969b1a3597fc80393de4634fa198d8dfa5.tar.gz
bcfg2-06fad7969b1a3597fc80393de4634fa198d8dfa5.tar.bz2
bcfg2-06fad7969b1a3597fc80393de4634fa198d8dfa5.zip
Rename: src/GeneratorUtils.py -> src/lib/Server/GeneratorUtils.py
}(Logical change 1.33) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@170 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src')
-rw-r--r--src/GeneratorUtils.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/src/GeneratorUtils.py b/src/GeneratorUtils.py
deleted file mode 100644
index 13a9bedcf..000000000
--- a/src/GeneratorUtils.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/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.
- Index can parse the data into member data as required.'''
-
- def __init__(self, name):
- self.name = name
- self.HandleEvent()
-
- def HandleEvent(self, event=None):
- self.data = file(self.name).read()
- self.Index()
-
- def Index(self):
- pass
-
-class DirectoryBacked(object):
- __child__ = FileBacked
-
- def __init__(self, name, fam):
- self.name = name
- self.fam = fam
- self.entries = {}
- self.inventory = False
- fam.AddMonitor(name, self)
-
- def __getitem__(self, key):
- return self.entries[key]
-
- def __iter__(self):
- return self.entries.iteritems()
-
- def AddEntry(self, name):
- if self.entries.has_key(name):
- print "got multiple adds"
- else:
- self.entries[name] = self.__child__('%s/%s'%(self.name, name))
- self.entries[name].HandleEvent()
-
- def HandleEvent(self, event):
- action = event.code2str()
- if action == 'exists':
- if event.filename != self.name:
- self.AddEntry(event.filename)
- elif action == 'created':
- self.AddEntry(event.filename)
- elif action == 'changed':
- self.entries[event.filename].HandleEvent(event)
- elif action == 'deleted':
- if self.entries.has_key(event.filename):
- del self.entries[event.filename]
- elif action in ['endExist']:
- pass
- 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()
-
- def __iter__(self):
- return iter(self.entries)
-
-class SingleXMLFileBacked(XMLFileBacked):
- def __init__(self,filename,fam):
- XMLFileBacked.__init__(self, filename)
- fam.AddMonitor(filename, self)
-