From 03c932e5ee8c422fe61ed67a861f8b5f3edf4aac Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Thu, 28 Sep 2006 00:49:53 +0000 Subject: Handle templates properly, regardless of event order (resolves ticket #158) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@2336 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/TCheetah.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/lib/Server/Plugins/TCheetah.py') diff --git a/src/lib/Server/Plugins/TCheetah.py b/src/lib/Server/Plugins/TCheetah.py index 0ef453a9e..4e95fce35 100644 --- a/src/lib/Server/Plugins/TCheetah.py +++ b/src/lib/Server/Plugins/TCheetah.py @@ -20,13 +20,14 @@ class TemplateFile: '''Handle all fs events for this template''' if event.filename == 'template': try: - self.template = Cheetah.Template.Template(open(self.name).read()) + self.template = Cheetah.Template.Template(open(self.name + \ + '/template').read()) self.template.properties = self.properties.properties except Cheetah.Parser.ParseError, perror: logger.error("Cheetah parse error for file %s" % (self.name)) logger.error(perror.report()) elif event.filename == 'info': - for line in open(self.name[:-8] + '/info').readlines(): + for line in open(self.name + '/info').readlines(): match = info.match(line) if not match: logger.warning("Failed to match line: %s"%line) @@ -99,7 +100,7 @@ class TCheetah(Bcfg2.Server.Plugin.Plugin): self.AddDirectoryMonitor(epath[len(self.data):]) else: if not self.entries.has_key(identifier): - self.entries[identifier] = TemplateFile(epath, self.properties) + self.entries[identifier] = TemplateFile(identifier, self.properties) self.Entries['ConfigFile'][identifier] = self.BuildEntry self.entries[identifier].HandleEvent(event) elif action == 'changed': -- cgit v1.2.3-1-g7c22