X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Futils.py;h=655e3817f0aa2fba2bc8cb370cdcdcd1e8df745d;hb=b1891efd3f1eda5eef424cb586aaa7357d32f411;hp=bc524aa9fea6caa9bee29211a07c47f6ec5927ec;hpb=d0f0dfe9b782a8e6b9ef01b3d3113bf9666a04de;p=dak.git diff --git a/daklib/utils.py b/daklib/utils.py index bc524aa9..655e3817 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -44,6 +44,7 @@ import subprocess import ldap import daklib.config as config +import daklib.daksubprocess from dbconn import DBConn, get_architecture, get_component, get_suite, \ get_override_type, Keyring, session_wrapper, \ get_active_keyring_paths, get_primary_keyring_path, \ @@ -77,7 +78,7 @@ known_hashes = [("sha1", apt_pkg.sha1sum, (1, 8)), # code in lenny's Python. This also affects commands.getoutput and # commands.getstatus. def dak_getstatusoutput(cmd): - pipe = subprocess.Popen(cmd, shell=True, universal_newlines=True, + pipe = daklib.daksubprocess.Popen(cmd, shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = pipe.stdout.read() @@ -719,7 +720,7 @@ def move (src, dest, overwrite = 0, perms = 0o664): dest_dir = dest else: dest_dir = os.path.dirname(dest) - if not os.path.exists(dest_dir): + if not os.path.lexists(dest_dir): umask = os.umask(00000) os.makedirs(dest_dir, 0o2775) os.umask(umask) @@ -727,7 +728,7 @@ def move (src, dest, overwrite = 0, perms = 0o664): if os.path.exists(dest) and os.path.isdir(dest): dest += '/' + os.path.basename(src) # Don't overwrite unless forced to - if os.path.exists(dest): + if os.path.lexists(dest): if not overwrite: fubar("Can't move %s to %s - file already exists." % (src, dest)) else: @@ -750,7 +751,7 @@ def copy (src, dest, overwrite = 0, perms = 0o664): if os.path.exists(dest) and os.path.isdir(dest): dest += '/' + os.path.basename(src) # Don't overwrite unless forced to - if os.path.exists(dest): + if os.path.lexists(dest): if not overwrite: raise FileExistsError else: @@ -893,7 +894,7 @@ def changes_compare (a, b): def find_next_free (dest, too_many=100): extra = 0 orig_dest = dest - while os.path.exists(dest) and extra < too_many: + while os.path.lexists(dest) and extra < too_many: dest = orig_dest + '.' + repr(extra) extra += 1 if extra >= too_many: @@ -1689,7 +1690,7 @@ def call_editor(text="", suffix=".txt"): try: print >>tmp, text, tmp.close() - subprocess.check_call([editor, tmp.name]) + daklib.daksubprocess.check_call([editor, tmp.name]) return open(tmp.name, 'r').read() finally: os.unlink(tmp.name)