From d78e0cc91947a06ae7687cb54f805787fb00d28f Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 21 May 2012 09:02:30 -0400 Subject: fixed bug in pseudo fm, deduplicated code --- src/lib/Bcfg2/Server/FileMonitor/Pseudo.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src/lib/Bcfg2/Server/FileMonitor/Pseudo.py') diff --git a/src/lib/Bcfg2/Server/FileMonitor/Pseudo.py b/src/lib/Bcfg2/Server/FileMonitor/Pseudo.py index 4c2d90250..baff871d0 100644 --- a/src/lib/Bcfg2/Server/FileMonitor/Pseudo.py +++ b/src/lib/Bcfg2/Server/FileMonitor/Pseudo.py @@ -10,21 +10,18 @@ logger = logging.getLogger(__name__) class Pseudo(FileMonitor): __priority__ = 99 - def AddMonitor(self, path, obj): + def AddMonitor(self, path, obj, handleID=None): """add a monitor to path, installing a callback to obj.HandleEvent""" - handleID = len(list(self.handles.keys())) + if handleID is None: + handleID = len(list(self.handles.keys())) mode = os.stat(path)[stat.ST_MODE] - handle = Event(handleID, path, 'exists') + self.events.append(Event(handleID, path, 'exists')) if stat.S_ISDIR(mode): dirList = os.listdir(path) - self.pending_events.append(handle) for includedFile in dirList: - self.pending_events.append(Event(handleID, - includedFile, - 'exists')) - self.pending_events.append(Event(handleID, path, 'endExist')) - else: - self.pending_events.append(Event(handleID, path, 'exists')) + self.events.append(Event(handleID, includedFile, 'exists')) + self.events.append(Event(handleID, path, 'endExist')) + if obj != None: self.handles[handleID] = obj return handleID -- cgit v1.2.3-1-g7c22