new cover type
[librarian.git] / librarian / cover.py
index 9e21cf4..29e24c8 100644 (file)
@@ -413,6 +413,11 @@ class WLCover(Cover):
         return img
 
 
+class WLNoBoxCover(WLCover):
+    def add_box(self, img):
+        return img
+
+
 class LogoWLCover(WLCover):
     gradient_height = 90
     gradient_logo_height = 60
@@ -549,12 +554,38 @@ class KMLUCover(LogoWLCover):
     ]
 
 
+class MPWCover(LogoWLCover):
+    gradient_logo_height = 58
+    gradient_logo_spacing = 25
+    gradient_logos = [
+        'res/mpw-logo-white.png',
+        'res/wl-logo-white.png',
+        'res/fnp-logo-white.png',
+    ]
+
+
+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)