aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/script/reloader.py
diff options
context:
space:
mode:
authorMatthew Shao <me@matshao.com>2016-01-14 09:30:06 +0800
committerMatthew Shao <me@matshao.com>2016-01-14 09:30:06 +0800
commit5b442a8947df332be6f79e3cdde2a80d1f3b00c6 (patch)
tree37b9e1801b33d4003b1bf468c370f479241027e4 /libmproxy/script/reloader.py
parent181c2973e6d1d27cb58c7622991b6c3f7f41c22c (diff)
downloadmitmproxy-5b442a8947df332be6f79e3cdde2a80d1f3b00c6.tar.gz
mitmproxy-5b442a8947df332be6f79e3cdde2a80d1f3b00c6.tar.bz2
mitmproxy-5b442a8947df332be6f79e3cdde2a80d1f3b00c6.zip
Use PollingObserver() only on OS X.
Diffstat (limited to 'libmproxy/script/reloader.py')
-rw-r--r--libmproxy/script/reloader.py13
1 files changed, 7 insertions, 6 deletions
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"]