diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-09-13 15:25:42 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-09-13 15:25:42 +0100 |
| commit | 71c395e312f45eca71189d3a5ce912459e20bcd0 (patch) | |
| tree | 0da2210d581b3216fc3f701744e0b47740e8e5ac /mammoth/conversion.py | |
| parent | d5c24755671fa0d5ec80ef61418214c32f5bc3f5 (diff) | |
Find default value for convert_image outside of class
Diffstat (limited to 'mammoth/conversion.py')
| -rw-r--r-- | mammoth/conversion.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/mammoth/conversion.py b/mammoth/conversion.py index b460f9a..7ffa896 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -23,6 +23,9 @@ def convert_document_element_to_html(element, if id_prefix is None: id_prefix = str(random.randint(0, 1000000000000000)) + if convert_image is None: + convert_image = images.inline(_generate_image_attributes) + html_generator = HtmlGenerator(lambda: writers.writer(output_format)) converter = _DocumentConverter(style_map, convert_image=convert_image, @@ -34,6 +37,15 @@ def convert_document_element_to_html(element, converter.visit(element) html_generator.end_all() return results.Result(html_generator.as_string(), converter.messages) + + +def _generate_image_attributes(image): + with image.open() as image_bytes: + encoded_src = base64.b64encode(image_bytes.read()).decode("ascii") + + return { + "src": "data:{0};base64,{1}".format(image.content_type, encoded_src) + } class _DocumentConverter(documents.ElementVisitor): @@ -44,7 +56,7 @@ class _DocumentConverter(documents.ElementVisitor): self._ignore_empty_paragraphs = ignore_empty_paragraphs self._note_references = note_references self._convert_underline = convert_underline or self._default_convert_underline - self._convert_image = convert_image or images.inline(self._generate_image_attributes) + self._convert_image = convert_image self._html_generator = html_generator def _with_html_generator(self, html_generator): @@ -168,15 +180,6 @@ class _DocumentConverter(documents.ElementVisitor): def visit_line_break(self, line_break): self._html_generator.self_closing("br") - - def _generate_image_attributes(self, image): - with image.open() as image_bytes: - encoded_src = base64.b64encode(image_bytes.read()).decode("ascii") - - return { - "src": "data:{0};base64,{1}".format(image.content_type, encoded_src) - } - def visit_note_reference(self, note_reference): self._html_generator.start("sup") self._html_generator.start("a", { |
