diff --git a/src/calibre/ebooks/metadata/sources/base.py b/src/calibre/ebooks/metadata/sources/base.py index 2d3053bd5f..d9eb5a9ee3 100644 --- a/src/calibre/ebooks/metadata/sources/base.py +++ b/src/calibre/ebooks/metadata/sources/base.py @@ -208,10 +208,12 @@ class Source(Plugin): #: If True this source can return multiple covers for a given query can_get_multiple_covers = False + #: If set to True covers downloaded by this plugin are automatically trimmed. + auto_trim_covers = False def __init__(self, *args, **kwargs): Plugin.__init__(self, *args, **kwargs) - self.running_a_test = False # Set to True when using identify_test() + self.running_a_test = False # Set to True when using identify_test() self._isbn_to_identifier_cache = {} self._identifier_to_cover_url_cache = {} self.cache_lock = threading.RLock() @@ -446,11 +448,8 @@ class Source(Plugin): except Exception: self.log.exception('Failed to download cover from: %r'%url) - # }}} - # Metadata API {{{ - def get_book_url(self, identifiers): ''' Return a 3-tuple or None. The 3-tuple is of the form: diff --git a/src/calibre/ebooks/metadata/sources/covers.py b/src/calibre/ebooks/metadata/sources/covers.py index 698abfbfce..33bbfba142 100644 --- a/src/calibre/ebooks/metadata/sources/covers.py +++ b/src/calibre/ebooks/metadata/sources/covers.py @@ -61,7 +61,8 @@ def process_result(log, result): try: im = Image() im.load(data) - im.trim(10) + if getattr(plugin, 'auto_trim_covers', False): + im.trim(10) width, height = im.size fmt = im.format