diff options
Diffstat (limited to 'libbe')
-rw-r--r-- | libbe/arch.py | 20 | ||||
-rw-r--r-- | libbe/tests.py | 1 |
2 files changed, 21 insertions, 0 deletions
diff --git a/libbe/arch.py b/libbe/arch.py index b7c8a0b..624aea3 100644 --- a/libbe/arch.py +++ b/libbe/arch.py @@ -41,6 +41,25 @@ def invoke_client(*args, **kwargs): raise Exception("Command failed: %s" % error) return output +def get_user_id(): + try: + return invoke_client('my-id') + except Exception, e: + if 'no arch user id set' in e.args[0]: + return None + else: + raise + + +def set_user_id(value): + invoke_client('my-id', value) + + +def ensure_user_id(): + if get_user_id() is None: + set_user_id('nobody <nobody@example.com>') + + def write_tree_settings(contents, path): file(os.path.join(path, "{arch}", "=tagging-method"), "wb").write(contents) @@ -49,6 +68,7 @@ def init_tree(path): def temp_arch_tree(type="easy"): import tempfile + ensure_user_id() path = tempfile.mkdtemp() init_tree(path) if type=="easy": diff --git a/libbe/tests.py b/libbe/tests.py index 2662df1..a7d925d 100644 --- a/libbe/tests.py +++ b/libbe/tests.py @@ -36,6 +36,7 @@ class Dir: shutil.rmtree(self.name) def arch_dir(): + arch.ensure_user_id() dir = Dir() arch.init_tree(dir.name) return dir |