aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/arch.py
diff options
context:
space:
mode:
Diffstat (limited to 'libbe/arch.py')
-rw-r--r--libbe/arch.py17
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)