diff options
author | Aaron Bentley <abentley@panoramicfeedback.com> | 2006-07-19 10:14:03 -0400 |
---|---|---|
committer | Aaron Bentley <abentley@panoramicfeedback.com> | 2006-07-19 10:14:03 -0400 |
commit | 16acc74181767343289c729f668fb34d50212441 (patch) | |
tree | ba8708dd988804a2b622f6453c93f22139e15870 /libbe | |
parent | 906ef74e2e941794df5297b5622be58d8c352e50 (diff) | |
download | bugseverywhere-16acc74181767343289c729f668fb34d50212441.tar.gz |
Use subprocess-native functionality for changing directory
Diffstat (limited to 'libbe')
-rw-r--r-- | libbe/bzr.py | 9 | ||||
-rw-r--r-- | libbe/rcs.py | 4 |
2 files changed, 3 insertions, 10 deletions
diff --git a/libbe/bzr.py b/libbe/bzr.py index b53429c..ddda334 100644 --- a/libbe/bzr.py +++ b/libbe/bzr.py @@ -25,14 +25,7 @@ def invoke_client(*args, **kwargs): expect = kwargs.get('expect', (0, 1)) cl_args = ["bzr"] cl_args.extend(args) - if directory: - old_dir = os.getcwd() - os.chdir(directory) - try: - status,output,error = invoke(cl_args, expect) - finally: - if directory: - os.chdir(old_dir) + status,output,error = invoke(cl_args, expect, cwd=directory) return status, output def add_id(filename, paranoid=False): diff --git a/libbe/rcs.py b/libbe/rcs.py index e7097aa..fddfeb6 100644 --- a/libbe/rcs.py +++ b/libbe/rcs.py @@ -44,8 +44,8 @@ class CommandError(Exception): self.err_str = err_str self.status = status -def invoke(args, expect=(0,)): - q = Popen(args, stdout=PIPE, stderr=PIPE) +def invoke(args, expect=(0,), cwd=None): + q = Popen(args, stdout=PIPE, stderr=PIPE, cwd=cwd) output, error = q.communicate() status = q.wait() if status not in expect: |