diff --git a/lib/tfw/components/directory_monitor.py b/lib/tfw/components/directory_monitor.py index 25cbe94..ca82ca1 100644 --- a/lib/tfw/components/directory_monitor.py +++ b/lib/tfw/components/directory_monitor.py @@ -75,9 +75,10 @@ class DirectoryMonitoringEventHandler(TriggerlessEventHandler): self._directory = directory self._monitor = None self.reload_monitor() - self.commands = {'pause': self.pause, - 'resume': self.resume, - 'ignore': self.ignore} + self.commands = {'pause': self.pause, + 'resume': self.resume, + 'ignore': self.ignore, + 'selectdir': self.selectdir} @property def directory(self): @@ -118,5 +119,13 @@ class DirectoryMonitoringEventHandler(TriggerlessEventHandler): self.monitor.ignore += data['ignore'] return data + def selectdir(self, data): + try: + self.directory = data['directory'] + self.reload_monitor() + return data + except EnvironmentError: + log.error('DirManagingEH failed to switch directory!') + def cleanup(self): self.monitor.stop()