Mercurial > hg > lxmldump
comparison lxmldump.py @ 12:d50e71642be7
Moar.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 11 May 2021 11:46:42 +0300 |
parents | b2ac68732e45 |
children | 3bd772fd6a50 |
comparison
equal
deleted
inserted
replaced
11:b2ac68732e45 | 12:d50e71642be7 |
---|---|
54 return 0 | 54 return 0 |
55 | 55 |
56 | 56 |
57 ## Wrapper for print() | 57 ## Wrapper for print() |
58 def pkk_print(smsg): | 58 def pkk_print(smsg): |
59 if pkk_cfg["normalize"]: | 59 try: |
60 sys.stdout.write(unicodedata.normalize("NFC", smsg)) | 60 if pkk_cfg["normalize"]: |
61 else: | 61 sys.stdout.write(unicodedata.normalize("NFC", smsg)) |
62 sys.stdout.write(smsg) | 62 else: |
63 sys.stdout.write(smsg) | |
64 | |
65 except (BrokenPipeError, IOError) as e: | |
66 sys.stderr.close() | |
67 | |
63 | 68 |
64 def pkk_printi(indent, smsg): | 69 def pkk_printi(indent, smsg): |
65 pkk_print((" " * indent) + smsg) | 70 pkk_print((" " * indent) + smsg) |
66 | 71 |
67 | 72 |
86 def pkk_str_clean(mstr): | 91 def pkk_str_clean(mstr): |
87 return re.sub(r'[\n\r\t]', '', mstr) | 92 return re.sub(r'[\n\r\t]', '', mstr) |
88 | 93 |
89 | 94 |
90 def pkk_ptr_to_text(pnode): | 95 def pkk_ptr_to_text(pnode): |
91 # return "PTR: {}".format(xmlET.tostring(pnode)) | |
92 return "PTR: <{}>{}</>".format( | 96 return "PTR: <{}>{}</>".format( |
93 pnode.attrib["{http://www.w3.org/TR/xlink}href"], | 97 pnode.attrib["{http://www.w3.org/TR/xlink}href"], |
94 ("".join(pnode.itertext())).strip()) | 98 ("".join(pnode.itertext())).strip()) |
95 | 99 |
96 | 100 |
138 | 142 |
139 ## | 143 ## |
140 def pkk_output_one(indent, dnode, dsub, dfmt): | 144 def pkk_output_one(indent, dnode, dsub, dfmt): |
141 for qnode in dnode.findall(dsub): | 145 for qnode in dnode.findall(dsub): |
142 pkk_printi(indent, dfmt.format(pkk_get_text(qnode))) | 146 pkk_printi(indent, dfmt.format(pkk_get_text(qnode))) |
147 | |
143 | 148 |
144 def pkk_output_subs(indent, dnode, dsub, dname): | 149 def pkk_output_subs(indent, dnode, dsub, dname): |
145 for qnode in dnode.findall(dsub): | 150 for qnode in dnode.findall(dsub): |
146 pkk_printi(indent, "{} \"{}\"\n".format(dname, pkk_get_text(qnode))) | 151 pkk_printi(indent, "{} \"{}\"\n".format(dname, pkk_get_text(qnode))) |
147 | 152 |