From 222143665c4e9f1f20a095b06ab87cd82b69fc2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Thu, 15 Mar 2018 21:05:16 +0100 Subject: [PATCH] Implement DirManagingEH selectdir API --- lib/tfw/components/directory_monitor.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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()