diff options
-rw-r--r-- | mitmproxy/addons/script.py | 7 | ||||
-rw-r--r-- | test/mitmproxy/addons/test_script.py | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/mitmproxy/addons/script.py b/mitmproxy/addons/script.py index b3a93571..a7d3a312 100644 --- a/mitmproxy/addons/script.py +++ b/mitmproxy/addons/script.py @@ -110,11 +110,16 @@ class ReloadHandler(watchdog.events.FileSystemEventHandler): self.callback = callback def filter(self, event): + """ + Returns True only when .py file is changed + """ if event.is_directory: return False if os.path.basename(event.src_path).startswith("."): return False - return True + if event.src_path.endswith(".py"): + return True + return False def on_modified(self, event): if self.filter(event): diff --git a/test/mitmproxy/addons/test_script.py b/test/mitmproxy/addons/test_script.py index 96d7bd9e..5f196ebf 100644 --- a/test/mitmproxy/addons/test_script.py +++ b/test/mitmproxy/addons/test_script.py @@ -44,14 +44,19 @@ def test_reloadhandler(): rh = script.ReloadHandler(Called()) assert not rh.filter(watchdog.events.DirCreatedEvent("path")) assert not rh.filter(watchdog.events.FileModifiedEvent("/foo/.bar")) - assert rh.filter(watchdog.events.FileModifiedEvent("/foo/bar")) + assert not rh.filter(watchdog.events.FileModifiedEvent("/foo/bar")) + assert rh.filter(watchdog.events.FileModifiedEvent("/foo/bar.py")) assert not rh.callback.called rh.on_modified(watchdog.events.FileModifiedEvent("/foo/bar")) + assert not rh.callback.called + rh.on_modified(watchdog.events.FileModifiedEvent("/foo/bar.py")) assert rh.callback.called rh.callback.called = False rh.on_created(watchdog.events.FileCreatedEvent("foo")) + assert not rh.callback.called + rh.on_created(watchdog.events.FileCreatedEvent("foo.py")) assert rh.callback.called |