diff options
author | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-07-08 10:21:58 +0200 |
---|---|---|
committer | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-07-08 10:21:58 +0200 |
commit | 5173eca2bb8b63f6d98f6fced9e7fe27d6fae0ef (patch) | |
tree | 1c817564485625d1f6b102be3d1dd512cd01e916 | |
parent | 0338325ad9633b666ab54e8302029174ea6d9a73 (diff) |
Fixed issue how script directory was watched and ensured
script is always treated as a string when executed
-rw-r--r-- | qface/watch.py | 13 |
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') |