about summary refs log tree commit diff
path: root/thml2gmi.py
diff options
context:
space:
mode:
Diffstat (limited to 'thml2gmi.py')
-rwxr-xr-xthml2gmi.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/thml2gmi.py b/thml2gmi.py
index 9137ab5..5705ebf 100755
--- a/thml2gmi.py
+++ b/thml2gmi.py
@@ -14,6 +14,11 @@ def parseSomething(thing):
         parseDiv(thing)
     elif (thing.tag == 'p'):
         parseP(thing)
+    elif (thing.tag in ['span']):
+        parseInline(thing)
+    else:
+        for thing in list(thing):
+            parseSomething(thing)
 
 def parseDiv(div):
     indentLevel = int(div.tag[3:])
@@ -23,8 +28,17 @@ def parseDiv(div):
         parseSomething(child)
 
 def parseP(p):
-    text = "".join([x for x in p.itertext()])
-    print(text.replace("\n", " "))
+    parseInline(p)
+    # Each paragraph should end with a newline
+    print("")
+
+def parseInline(inline):
+    if(inline.text):
+        print(inline.text.replace("\n"," "), end='')
+    for thing in inline:
+        parseSomething(thing)
+        if(thing.tail):
+            print(thing.tail.replace("\n"," "), end='')
 
 if __name__ == '__main__':
     main(sys.argv)