diff options
author | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-02-11 22:11:30 +0100 |
---|---|---|
committer | Juergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2017-02-11 22:11:30 +0100 |
commit | 7941521f9d079e50af1c00e44f4a36212ff0dab5 (patch) | |
tree | 345d0205195edfb5bdfb1a8fc991767abaaaf027 | |
parent | 2ece284f3b9c7ad25694a8fb225422c4505cc9a9 (diff) | |
download | qtivi-qface-7941521f9d079e50af1c00e44f4a36212ff0dab5.tar.gz |
Allows now to pass in the command line as array of arguments (args) for the script to be called on FS change
-rw-r--r-- | qface/watch.py | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/qface/watch.py b/qface/watch.py index ca3ec73..18fe5f9 100644 --- a/qface/watch.py +++ b/qface/watch.py @@ -1,21 +1,15 @@ from watchdog.events import FileSystemEventHandler from watchdog.observers import Observer import click -from subprocess import call from path import Path import time -import sys - - -def sh(cmd, all=False, **kwargs): - click.secho('$ {0}'.format(cmd), fg='green') - return call(cmd, shell=True, **kwargs) +from .shell import sh class RunScriptChangeHandler(FileSystemEventHandler): - def __init__(self, script): + def __init__(self, argv): super().__init__() - self.script = script + self.argv = argv self.is_running = False def on_modified(self, event): @@ -25,19 +19,19 @@ class RunScriptChangeHandler(FileSystemEventHandler): if self.is_running: return self.is_running = True - cmd = '{0} {1}'.format(sys.executable, self.script) - sh(cmd, cwd=Path.getcwd()) + # cmd = '{0} {1}'.format(sys.executable, ' '.join(self.argv)) + sh(' '.join(self.argv), cwd=Path.getcwd()) self.is_running = False -def monitor(src, script): +def monitor(src, argv): """ reloads the script when src files changes """ - script = Path(script).expand().abspath() + script = Path(argv[0]).expand().abspath() src = src if isinstance(src, (list, tuple)) else [src] src = [Path(entry).expand().abspath() for entry in src] - event_handler = RunScriptChangeHandler(script) + event_handler = RunScriptChangeHandler(argv) observer = Observer() path = script.dirname().expand().abspath() click.secho('watch recursive: {0}'.format(path), fg='blue') |