diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-02-11 01:45:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-11 01:45:14 +0100 |
commit | 71742654e3cab347378509f559dc14399b4eb65e (patch) | |
tree | 538f40a31be7ae9f28a71fb4902d89d1b8ad5ab8 | |
parent | d4593bc333864d4175caae1b3786e643a2602327 (diff) | |
parent | 809207195d9b4fe7b1f33f7bea8efa05a8895d56 (diff) | |
download | mitmproxy-71742654e3cab347378509f559dc14399b4eb65e.tar.gz mitmproxy-71742654e3cab347378509f559dc14399b4eb65e.tar.bz2 mitmproxy-71742654e3cab347378509f559dc14399b4eb65e.zip |
Merge pull request #2005 from ujjwal96/script-reload
Closes #1828 script reloads on py file changes
-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 |