summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-02-11 22:11:30 +0100
committerJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2017-02-11 22:11:30 +0100
commit7941521f9d079e50af1c00e44f4a36212ff0dab5 (patch)
tree345d0205195edfb5bdfb1a8fc991767abaaaf027
parent2ece284f3b9c7ad25694a8fb225422c4505cc9a9 (diff)
downloadqtivi-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.py22
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')