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