From ca03d8c1842d2ebac821c5d6cb6adee3701fe175 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Tue, 18 Feb 2020 22:19:27 +0100 Subject: [PATCH 1/1] Prettier authors on covers. --- CHANGELOG.md | 6 ++++++ librarian/cover.py | 18 ++++++++++-------- setup.py | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 496408d..af8790a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ This document records all notable changes to Librarian. +## 1.8.1 (2020-02-18) + +### Changed +- Multiple authors on cover are now split into lines. + + ## 1.8 (2020-02-12) ### Added diff --git a/librarian/cover.py b/librarian/cover.py index 95c5cdc..0f38ec3 100644 --- a/librarian/cover.py +++ b/librarian/cover.py @@ -141,7 +141,7 @@ class Cover(object): } def __init__(self, book_info, format=None, width=None, height=None): - self.author = ", ".join(auth.readable() for auth in book_info.authors) + self.authors = [auth.readable() for auth in book_info.authors] self.title = book_info.title if format is not None: self.format = format @@ -153,9 +153,9 @@ class Cover(object): elif scale: self.scale_after = scale - def pretty_author(self): - """Allows for decorating author's name.""" - return self.author + def pretty_authors(self): + """Allows for decorating authors' names.""" + return [self.authors] def pretty_title(self): """Allows for decorating title.""" @@ -184,7 +184,8 @@ class Cover(object): author_font = ImageFont.truetype( self.author_font_ttf, metr.author_font_size) - tbox.text(self.pretty_author(), self.author_color, author_font, metr.author_lineskip, self.author_shadow) + for pa in self.pretty_authors(): + tbox.text(pa, self.author_color, author_font, metr.author_lineskip, self.author_shadow) text_img = tbox.image() img.paste(text_img, (metr.author_margin_left, top), text_img) @@ -308,8 +309,8 @@ class WLCover(Cover): self.background_img = BytesIO(bg_src.read()) bg_src.close() - def pretty_author(self): - return self.author.upper() + def pretty_authors(self): + return [a.upper() for a in self.authors] def add_box(self, img): if self.box_position == 'none': @@ -321,7 +322,8 @@ class WLCover(Cover): box = TextBox(metr.title_box_width, metr.height, padding_y=metr.box_padding_y) author_font = ImageFont.truetype( self.author_font_ttf, metr.author_font_size) - box.text(self.pretty_author(), + for pa in self.pretty_authors(): + box.text(pa, font=author_font, line_height=metr.author_lineskip, color=self.author_color, diff --git a/setup.py b/setup.py index ea8f699..7adc69b 100755 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ def whole_tree(prefix, path): setup( name='librarian', - version='1.8', + version='1.8.1', description='Converter from WolneLektury.pl XML-based language to XHTML, TXT and other formats', author="Marek Stępniowski", author_email='marek@stepniowski.com', -- 2.20.1