# Copyright (C) 2018 Avatao.com Innovative Learning Kft. # All Rights Reserved. See LICENSE file for details. from tfw.config.logs import logging LOG = logging.getLogger(__name__) class MonitorManagerMixin: def __init__(self, monitor_type, directories): self._monitor_type = monitor_type self._monitor = None self._monitored_directories = directories self.reload_monitor() @property def monitor(self): return self._monitor def reload_monitor(self): if self._monitor: try: self._monitor.stop() except KeyError: LOG.debug('Working directory was removed – ignoring...') self._monitor = self._monitor_type(self._monitored_directories) self._monitor.watch() # This runs on a separate thread