From 1236e907e724926dedfac0695b1eedbe0acf226f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 8 Feb 2015 20:20:33 +0000 Subject: Handle a tags in markdown writer --- mammoth/writers/markdown.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'mammoth') diff --git a/mammoth/writers/markdown.py b/mammoth/writers/markdown.py index 8830277..66bc9f2 100644 --- a/mammoth/writers/markdown.py +++ b/mammoth/writers/markdown.py @@ -12,16 +12,22 @@ class _Wrapped(object): self._start = start self._end = end - def __call__(self): + def __call__(self, attributes): return self._start, self._end +def _hyperlink(attributes): + href = attributes.get("href", "") + return "[", "]({0})".format(href) + + def _init_writers(): writers = { "p": _Wrapped("", "\n\n"), "br": _Wrapped("", " \n"), "strong": _symmetric_wrapped("__"), "em": _symmetric_wrapped("*"), + "a": _hyperlink, } for level in range(1, 7): @@ -31,7 +37,7 @@ def _init_writers(): _writers = _init_writers() -_default_writer = lambda: ("", "") +_default_writer = lambda attributes: ("", "") class MarkdownWriter(object): @@ -43,7 +49,7 @@ class MarkdownWriter(object): self._fragments.append(_escape_markdown(text)) def start(self, name, attributes=None): - start, end = _writers.get(name, _default_writer)() + start, end = _writers.get(name, _default_writer)(attributes) self._fragments.append(start) self._element_stack.append(end) -- cgit v1.2.3