diff options
Diffstat (limited to 'libbe/arch.py')
-rw-r--r-- | libbe/arch.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libbe/arch.py b/libbe/arch.py index 6cc3dbb..b1b88fd 100644 --- a/libbe/arch.py +++ b/libbe/arch.py @@ -1,15 +1,26 @@ from popen2 import Popen4 import os +import config +client = config.get_val("arch_client") +if client is None: + client = "tla" + config.set_val("arch_client", client) def invoke(args): q=Popen4(args) output = q.fromchild.read() status = q.wait() if os.WIFEXITED(status): - return (os.WEXITSTATUS(status)) + return os.WEXITSTATUS(status) + raise Exception("Command failed") + +def invoke_client(*args, **kwargs): + status = invoke((client,) + args) + if status not in (0,): + raise Exception("Command failed") def add_id(filename): - return invoke(("tla", "add-id", filename)) + invoke_client("add-id", filename) def delete_id(filename): - return invoke(("tla", "delete-id", filename)) + invoke_client("delete-id", filename) |