aboutsummaryrefslogtreecommitdiff
path: root/mammoth
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-12-14 14:55:07 +0000
committerMichael Williamson <mike@zwobble.org>2013-12-14 14:55:07 +0000
commitee4f5998d6ee0ec390dd1d126619d89ec16ac0dd (patch)
tree92894482542885eeec013e85cf7e0d67e68739e6 /mammoth
parent77366b64e5a04da3cd501e57b43692b3f19f14c0 (diff)
Add starting and ending tags
Diffstat (limited to 'mammoth')
-rw-r--r--mammoth/html_generation.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/mammoth/html_generation.py b/mammoth/html_generation.py
index eb68266..cf76500 100644
--- a/mammoth/html_generation.py
+++ b/mammoth/html_generation.py
@@ -3,15 +3,32 @@ import cgi
class HtmlGenerator(object):
def __init__(self):
+ self._stack = []
self._fragments = []
def text(self, text):
self._fragments.append(_escape_html(text))
-
+
+ def start(self, name):
+ self._stack.append(_Element(name))
+ self._fragments.append("<{0}>".format(name))
+
+ def end(self):
+ element = self._stack.pop()
+ self._fragments.append("</{0}>".format(element.name))
+
+ def end_all(self):
+ while self._stack:
+ self.end()
def html_string(self):
return "".join(self._fragments)
+class _Element(object):
+ def __init__(self, name):
+ self.name = name
+
+
def _escape_html(text):
return cgi.escape(text, quote=True)