]> arthur.barton.de Git - bup.git/blobdiff - main.py
toptions.py: test with python 3
[bup.git] / main.py
diff --git a/main.py b/main.py
index 7f632beaa997f0a7dd6bbff8066f32f4b80dff96..ec86b2ac8376c7b4055d36db674b2edd544a531e 100755 (executable)
--- a/main.py
+++ b/main.py
@@ -42,7 +42,7 @@ os.environ['BUP_RESOURCE_PATH'] = resourcepath
 
 
 from bup import compat, helpers
-from bup.compat import add_ex_tb, chain_ex, wrap_main
+from bup.compat import add_ex_tb, add_ex_ctx, wrap_main
 from bup.helpers import atoi, columnate, debug1, log, tty_width
 
 
@@ -154,7 +154,7 @@ def force_tty():
         os.environ['BUP_FORCE_TTY'] = str(amt)
 
 
-sep_rx = re.compile(r'([\r\n])')
+sep_rx = re.compile(br'([\r\n])')
 
 def print_clean_line(dest, content, width, sep=None):
     """Write some or all of content, followed by sep, to the dest fd after
@@ -162,19 +162,19 @@ def print_clean_line(dest, content, width, sep=None):
     terminal width or truncating it to the terminal width if sep is a
     carriage return."""
     global sep_rx
-    assert sep in ('\r', '\n', None)
+    assert sep in (b'\r', b'\n', None)
     if not content:
         if sep:
             os.write(dest, sep)
         return
     for x in content:
         assert not sep_rx.match(x)
-    content = ''.join(content)
-    if sep == '\r' and len(content) > width:
+    content = b''.join(content)
+    if sep == b'\r' and len(content) > width:
         content = content[width:]
     os.write(dest, content)
     if len(content) < width:
-        os.write(dest, ' ' * (width - len(content)))
+        os.write(dest, b' ' * (width - len(content)))
     if sep:
         os.write(dest, sep)
 
@@ -215,7 +215,7 @@ def filter_output(src_out, src_err, dest_out, dest_err):
                     if split[0]:
                         pending.setdefault(fd, []).extend(split)
     except BaseException as ex:
-        pending_ex = chain_ex(add_ex_tb(ex), pending_ex)
+        pending_ex = add_ex_ctx(add_ex_tb(ex), pending_ex)
     try:
         # Try to finish each of the streams
         for fd, pending_items in compat.items(pending):
@@ -223,9 +223,9 @@ def filter_output(src_out, src_err, dest_out, dest_err):
             try:
                 print_clean_line(dest, pending_items, width)
             except (EnvironmentError, EOFError) as ex:
-                pending_ex = chain_ex(add_ex_tb(ex), pending_ex)
+                pending_ex = add_ex_ctx(add_ex_tb(ex), pending_ex)
     except BaseException as ex:
-        pending_ex = chain_ex(add_ex_tb(ex), pending_ex)
+        pending_ex = add_ex_ctx(add_ex_tb(ex), pending_ex)
     if pending_ex:
         raise pending_ex
 
@@ -260,7 +260,7 @@ def run_subcmd(subcmd):
                 os.kill(p.pid, signal.SIGTERM)
                 p.wait()
         except BaseException as kill_ex:
-            raise chain_ex(add_ex_tb(kill_ex), ex)
+            raise add_ex_ctx(add_ex_tb(kill_ex), ex)
         raise ex
         
 wrap_main(lambda : run_subcmd(subcmd))