aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-07-08 10:21:58 +0200
committerJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-07-08 10:21:58 +0200
commit5173eca2bb8b63f6d98f6fced9e7fe27d6fae0ef (patch)
tree1c817564485625d1f6b102be3d1dd512cd01e916
parent0338325ad9633b666ab54e8302029174ea6d9a73 (diff)
Fixed issue how script directory was watched and ensured
script is always treated as a string when executed
-rw-r--r--qface/watch.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/qface/watch.py b/qface/watch.py
index df1293e..f99b45a 100644
--- a/qface/watch.py
+++ b/qface/watch.py
@@ -24,7 +24,7 @@ class RunScriptChangeHandler(FileSystemEventHandler):
if self.is_running:
return
self.is_running = True
- sh(self.script, cwd=Path.getcwd())
+ sh(str(self.script), cwd=Path.getcwd())
self.is_running = False
@@ -33,13 +33,14 @@ def monitor(script, src, dst):
reloads the script given by argv when src files changes
"""
src = src if isinstance(src, (list, tuple)) else [src]
- script = '{0} {1} {2}'.format(script, ' '.join(src), dst)
+ dst = Path(dst).expand().abspath()
src = [Path(entry).expand().abspath() for entry in src]
- event_handler = RunScriptChangeHandler(script)
+ script = Path(script).expand().abspath()
+ command = '{0} {1} {2}'.format(script, ' '.join(src), dst)
+ event_handler = RunScriptChangeHandler(command)
observer = Observer()
- path = Path(script).dirname().expand().abspath()
- click.secho('watch recursive: {0}'.format(path), fg='blue')
- observer.schedule(event_handler, path, recursive=True)
+ click.secho('watch recursive: {0}'.format(script.dirname()), fg='blue')
+ observer.schedule(event_handler, script.dirname(), recursive=True)
for entry in src:
entry = entry.dirname().expand().abspath()
click.secho('watch recursive: {0}'.format(entry), fg='blue')