Mercurial > hg > lxmldump
changeset 9:2a8c65d22f86
Moar.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 11 May 2021 09:33:21 +0300 |
parents | ce07bb2a247b |
children | 013f0cd9e5b3 |
files | lxmldump.py |
diffstat | 1 files changed, 19 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lxmldump.py Tue May 11 02:08:30 2021 +0300 +++ b/lxmldump.py Tue May 11 09:33:21 2021 +0300 @@ -42,6 +42,7 @@ "ahavakala", "ahavakoittuo", "ahvaliha", + "aloilleh", ] @@ -80,17 +81,27 @@ sys.exit(1) +## +def pkk_ptr_to_text(pnode): +# return "PTR: <{}>".format("".join(pnode.itertext()).strip()) + return "PTR: <{}>".format(xmlET.tostring(pnode)) + + def pkk_get_text(lnode): stmp = "" for pnode in lnode.iter(): - if isinstance(pnode.text, str): - if pkk_cfg["annotate"] and isinstance(pnode.tag, str) and pnode.tag in pkk_str_fmap: - stmp += pkk_str_fmap[pnode.tag][0] + pnode.text + pkk_str_fmap[pnode.tag][1] - else: - stmp += pnode.text + if pnode.tag == "Ptr": + stmp += pkk_ptr_to_text(pnode) + else: + if isinstance(pnode.text, str): + ptext = pnode.text + if pkk_cfg["annotate"] and isinstance(pnode.tag, str) and pnode.tag in pkk_str_fmap: + stmp += pkk_str_fmap[pnode.tag][0] + ptext + pkk_str_fmap[pnode.tag][1] + else: + stmp += ptext - if isinstance(pnode.tail, str): - stmp += pnode.tail + if isinstance(pnode.tail, str): + stmp += " "+ pnode.tail.strip() return stmp.strip() @@ -99,7 +110,7 @@ def pkk_dump_recursive(indent, lnode): if lnode.tag in ["Example"]: stmp = pkk_get_text(lnode) - pkk_printi(indent, "{} \"{}\"".format(lnode.tag, stmp)) + pkk_printi(indent, "{} \"{}\"\n".format(lnode.tag, stmp)) else: if isinstance(lnode.text, str): stmp = lnode.text.strip()