diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-14 14:55:07 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-14 14:55:07 +0000 |
| commit | ee4f5998d6ee0ec390dd1d126619d89ec16ac0dd (patch) | |
| tree | 92894482542885eeec013e85cf7e0d67e68739e6 /mammoth | |
| parent | 77366b64e5a04da3cd501e57b43692b3f19f14c0 (diff) | |
Add starting and ending tags
Diffstat (limited to 'mammoth')
| -rw-r--r-- | mammoth/html_generation.py | 19 |
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) |
