-# -*- 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
def reg_substitute_entities():
entity_substitutions = [
- (u'---', u'—'),
- (u'--', u'–'),
- (u'...', u'…'),
- (u',,', u'„'),
- (u'"', u'”'),
+ ('---', '—'),
+ ('--', '–'),
+ ('...', '…'),
+ (',,', '„'),
+ ('"', '”'),
]
def substitute_entities(context, text):
_register_function(ends_white)
-def reg_wrap_words():
- def wrap_words(context, text, wrapping):
- """
- XPath extension function automatically wrapping words
- in passed text.
- """
- if isinstance(text, list):
- text = ''.join(text)
- if not wrapping:
- return text
-
- words = re.split(r'\s', text)
-
- line_length = 0
- lines = [[]]
- for word in words:
- line_length += len(word) + 1
- if line_length > wrapping:
- # Max line length was exceeded. We create new line
- lines.append([])
- line_length = len(word)
- lines[-1].append(word)
- return '\n'.join(' '.join(line) for line in lines)
- _register_function(wrap_words)
-
-
def reg_person_name():
def person_name(context, text):
""" Converts "Name, Forename" to "Forename Name" """
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