From 5b442a8947df332be6f79e3cdde2a80d1f3b00c6 Mon Sep 17 00:00:00 2001 From: Matthew Shao Date: Thu, 14 Jan 2016 09:30:06 +0800 Subject: Use PollingObserver() only on OS X. --- libmproxy/script/reloader.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'libmproxy/script/reloader.py') diff --git a/libmproxy/script/reloader.py b/libmproxy/script/reloader.py index 6f3c69ed..390ea343 100644 --- a/libmproxy/script/reloader.py +++ b/libmproxy/script/reloader.py @@ -1,7 +1,12 @@ import os import fnmatch +import sys from watchdog.events import PatternMatchingEventHandler -from watchdog.observers.polling import PollingObserver +if sys.platform == 'darwin': + from watchdog.observers.polling import PollingObserver as Observer +else: + from watchdog.observers import Observer +# Use PollingObserver on OS X, and natvie Observer on Linux and Windows _observers = {} @@ -12,7 +17,7 @@ def watch(script, callback): script_dir = os.path.dirname(os.path.abspath(script.args[0])) script_name = os.path.basename(script.args[0]) event_handler = _ScriptModificationHandler(callback, filename=script_name) - observer = PollingObserver() + observer = Observer() observer.schedule(event_handler, script_dir) observer.start() _observers[script] = observer @@ -48,9 +53,5 @@ class _ScriptModificationHandler(PatternMatchingEventHandler): if fnmatch.fnmatch(os.path.basename(modified_filepath), self.filename): self.callback() - def on_created(self, event): - if fnmatch.fnmatch(os.path.basename(event.src_path), self.filename): - self.callback() - __all__ = ["watch", "unwatch"] -- cgit v1.2.3