X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=main.py;h=ec86b2ac8376c7b4055d36db674b2edd544a531e;hb=1a2c5d295db052e074fbafa4e139967709516a4f;hp=7f632beaa997f0a7dd6bbff8066f32f4b80dff96;hpb=afd3ffec3570ee1c0f471bd9399568a9892d076b;p=bup.git diff --git a/main.py b/main.py index 7f632be..ec86b2a 100755 --- 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))