X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/ca8319931f449468918067367133ff25f9b19f30..3a0c83394d5783715fab2be29fa1a9cfc3574e28:/src/librarian/functions.py diff --git a/src/librarian/functions.py b/src/librarian/functions.py index 15e931c..bcaa784 100644 --- a/src/librarian/functions.py +++ b/src/librarian/functions.py @@ -1,12 +1,9 @@ -# -*- coding: utf-8 -*- -# # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # -from __future__ import unicode_literals - from lxml import etree import re +from ebooklib import epub from librarian.dcparser import Person from librarian import get_resource @@ -20,11 +17,11 @@ def _register_function(f): def reg_substitute_entities(): entity_substitutions = [ - (u'---', u'—'), - (u'--', u'–'), - (u'...', u'…'), - (u',,', u'„'), - (u'"', u'”'), + ('---', '—'), + ('--', '–'), + ('...', '…'), + (',,', '„'), + ('"', '”'), ] def substitute_entities(context, text): @@ -130,7 +127,7 @@ def mathml_latex(context, trees): from librarian.embeds.mathml import MathML text = MathML(trees[0]).to_latex().data # Remove invisible multiplications, they produce unwanted spaces. - text = text.replace(u'\u2062', '') + text = text.replace('\u2062', '') return text @@ -138,14 +135,22 @@ def reg_mathml_latex(): _register_function(mathml_latex) -def reg_mathml_epub(zipf): +def reg_mathml_epub(output): from librarian.embeds.mathml import MathML def mathml(context, trees): data = MathML(trees[0]).to_latex().to_png().data name = "math%d.png" % mathml.count mathml.count += 1 - zipf.writestr('OPS/' + name, data) + output.add_item( + epub.EpubItem( + uid='math%d' % mathml.count, + file_name=name, + media_type='image/png', + content=data + ) + ) + return name mathml.count = 0 _register_function(mathml)