# HG changeset patch # User Matti Hamalainen # Date 1620722802 -10800 # Node ID d50e71642be74593b0559c3093e81bd7ae9093d7 # Parent b2ac68732e454bf66e18e726cc9145287bbdab19 Moar. diff -r b2ac68732e45 -r d50e71642be7 lxmldump.py --- a/lxmldump.py Tue May 11 11:30:42 2021 +0300 +++ b/lxmldump.py Tue May 11 11:46:42 2021 +0300 @@ -56,10 +56,15 @@ ## Wrapper for print() def pkk_print(smsg): - if pkk_cfg["normalize"]: - sys.stdout.write(unicodedata.normalize("NFC", smsg)) - else: - sys.stdout.write(smsg) + try: + if pkk_cfg["normalize"]: + sys.stdout.write(unicodedata.normalize("NFC", smsg)) + else: + sys.stdout.write(smsg) + + except (BrokenPipeError, IOError) as e: + sys.stderr.close() + def pkk_printi(indent, smsg): pkk_print((" " * indent) + smsg) @@ -88,7 +93,6 @@ def pkk_ptr_to_text(pnode): -# return "PTR: {}".format(xmlET.tostring(pnode)) return "PTR: <{}>{}".format( pnode.attrib["{http://www.w3.org/TR/xlink}href"], ("".join(pnode.itertext())).strip()) @@ -141,6 +145,7 @@ for qnode in dnode.findall(dsub): pkk_printi(indent, dfmt.format(pkk_get_text(qnode))) + def pkk_output_subs(indent, dnode, dsub, dname): for qnode in dnode.findall(dsub): pkk_printi(indent, "{} \"{}\"\n".format(dname, pkk_get_text(qnode)))