diff options
author | W. Trevor King <wking@drexel.edu> | 2011-02-22 21:02:11 -0500 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2011-02-22 21:02:11 -0500 |
commit | 893bbc21bdac3a5f25c17e547df8adab00dbd670 (patch) | |
tree | e3ff8ea586da98cc08776110802db11883c63dca /libbe/storage/vcs/arch.py | |
parent | 2e32d6fc84d3b211b57a8c39a47b28b991b3ea32 (diff) | |
download | bugseverywhere-893bbc21bdac3a5f25c17e547df8adab00dbd670.tar.gz |
Local imports and better missing-client detection in client-based VCS classes.
Diffstat (limited to 'libbe/storage/vcs/arch.py')
-rw-r--r-- | libbe/storage/vcs/arch.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/libbe/storage/vcs/arch.py b/libbe/storage/vcs/arch.py index d12a91a..6c519c4 100644 --- a/libbe/storage/vcs/arch.py +++ b/libbe/storage/vcs/arch.py @@ -33,11 +33,11 @@ import sys import time # work around http://mercurial.selenic.com/bts/issue618 import libbe -import libbe.ui.util.user -import libbe.storage.util.config -from libbe.util.id import uuid_gen -from libbe.util.subproc import CommandError -import base +from ...ui.util import user as _user +from ...util.id import uuid_gen +from ...util.subproc import CommandError +from ..util import config as _config +from . import base if libbe.TESTING == True: import unittest @@ -51,7 +51,7 @@ class CantAddFile(Exception): DEFAULT_CLIENT = 'tla' -client = libbe.storage.util.config.get_val( +client = _config.get_val( 'arch_client', default=DEFAULT_CLIENT) def new(): @@ -77,14 +77,17 @@ class Arch(base.VCS): self.__updated = [] # work around http://mercurial.selenic.com/bts/issue618 def _vcs_version(self): - status,output,error = self._u_invoke_client('--version') + try: + status,output,error = self._u_invoke_client('--version') + except CommandError: # command not found? + return None version = '\n'.join(output.splitlines()[:2]) return version def _vcs_detect(self, path): """Detect whether a directory is revision-controlled using Arch""" if self._u_search_parent_directories(path, '{arch}') != None : - libbe.storage.util.config.set_val('arch_client', client) + _config.set_val('arch_client', client) return True return False @@ -102,7 +105,7 @@ class Arch(base.VCS): # http://regexps.srparish.net/tutorial-tla/new-archive.html#Creating_a_New_Archive assert self._archive_name == None id = self.get_user_id() - name, email = libbe.ui.util.user.parse_user_id(id) + name, email = _user.parse_user_id(id) if email == None: email = '%s@example.com' % name trailer = '%s-%s' % ('bugs-everywhere-auto', uuid_gen()[0:8]) |