#!/usr/bin/env python """Convert a usx file into gemtext""" __author__ = "Zach DeCook" __email__ = "zachdecook@librem.one" __copyright__ = "Copyright (C) 2021 Zach DeCook" __license__ = "AGPL" __version__ = "3" import sys import xml.etree.ElementTree as ET def printf(string): print(string,end='') def main(argv): root = ET.parse(argv[1]).getroot() for thing in list(root): printf(convertBlock(thing)) def convertBlock(thing): if thing.tag == 'para': # TODO: use style attribute to affect the prefix. return "\n" + convertInline(thing) return '' def convertInline(thing): # TODO: Implement this. out = '' # TODO: move note after the next word/phrase? if thing.tag == 'note': out += '[' if thing.text: out = thing.text.replace("\n"," ") for t in thing: out += convertInline(t) if t.tail: out += t.tail.replace("\n"," ") if thing.tag == 'note': out += ']' return out if __name__ == '__main__': main(sys.argv)