class Builder:
file_extension = None
- def __init__(self, base_url=None, fundraising=None):
+ def __init__(self, base_url=None, fundraising=None, cover=None):
self._base_url = base_url or 'file:///home/rczajka/for/fnp/librarian/temp~/maly/img/'
self.fundraising = fundraising
self.footnotes = etree.Element('div', id='footnotes')
+ self.make_cover = cover or make_cover
self.cursors = {
# None: None,
class EpubBuilder(Builder):
file_extension = 'epub'
+ isbn_field = 'isbn_epub'
def __init__(self, *args, **kwargs):
self.chars = set()
self.set_metadata()
-
self.add_cover()
self.add_title_page()
e = self.document.tree.find('//autor_utworu')
if e is not None:
- etree.SubElement(tp, 'h2', **{'class': 'author'}).text = e.raw_printable_text()
+ etree.SubElement(tp, 'h2', **{'class': 'author'}).text = e.raw_printable_text(self)
e = self.document.tree.find('//nazwa_utworu')
if e is not None:
- etree.SubElement(tp, 'h1', **{'class': 'title'}).text = e.raw_printable_text()
+ etree.SubElement(tp, 'h1', **{'class': 'title'}).text = e.raw_printable_text(self)
if not len(tp):
for author in self.document.meta.authors:
</p>
"""))
- if self.document.meta.isbn_epub:
- etree.SubElement(tp, 'p', **{"class": "info"}).text = self.document.meta.isbn_epub
+ if getattr(self.document.meta, self.isbn_field):
+ etree.SubElement(tp, 'p', **{"class": "info"}).text = getattr(self.document.meta, self.isbn_field)
tp.append(etree.XML("""<p class="footer info">
<a href="http://www.wolnelektury.pl/"><img src="logo_wolnelektury.png" alt="WolneLektury.pl" /></a>
else:
p.text += m.cover_by
- if m.isbn_epub:
- newp().text = m.isbn_epub
+ if getattr(m, self.isbn_field):
+ newp().text = getattr(m, self.isbn_field)
newp().text = '\u00a0'
def add_cover(self):
# TODO: allow other covers
- cover_maker = make_cover
+ cover_maker = self.make_cover
cover_file = six.BytesIO()
- cover = cover_maker(self.document.meta)
+ cover = cover_maker(self.document.meta, width=600)
cover.save(cover_file)
cover_name = 'cover.%s' % cover.ext()