From 43f9887701dbe454dcaee6f4f68afe7e3d14ebe6 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Tue, 2 Oct 2018 13:37:39 +0200 Subject: [PATCH 1/1] new cover type --- librarian/cover.py | 17 ++++++++++++++++- librarian/res/atrium-logo.png | Bin 0 -> 22137 bytes 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 librarian/res/atrium-logo.png diff --git a/librarian/cover.py b/librarian/cover.py index 6390f8a..29e24c8 100644 --- a/librarian/cover.py +++ b/librarian/cover.py @@ -564,13 +564,28 @@ class MPWCover(LogoWLCover): ] +class AtriumCover(LogoWLCover): + gradient_logo_height = 58 + gradient_logo_spacing = 25 + gradient_logos = [ + 'res/atrium-logo.png', + 'res/wl-logo-white.png', + 'res/fnp-logo-white.png', + ] + + COVER_CLASSES = { 'default': LogoWLCover, 'kmlu': KMLUCover, 'mpw': MPWCover, + 'atrium': AtriumCover, } def make_cover(book_info, *args, **kwargs): - cover_class = COVER_CLASSES[book_info.cover_class] + if 'cover_class' in kwargs: + cover_class_name = kwargs.pop('cover_class') + else: + cover_class_name = book_info.cover_class + cover_class = COVER_CLASSES[cover_class_name] return cover_class(book_info, *args, **kwargs) diff --git a/librarian/res/atrium-logo.png b/librarian/res/atrium-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..35af9040a73483b737f9994803b8e295d7004823 GIT binary patch literal 22137 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

ADT26DoHgBe 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