From ee4f5998d6ee0ec390dd1d126619d89ec16ac0dd Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 14 Dec 2013 14:55:07 +0000 Subject: Add starting and ending tags --- mammoth/html_generation.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'mammoth') 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("".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) -- cgit v1.2.3