From ab0a4bb07c19584d93711f697ccb58201c75f2df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= Date: Tue, 6 Mar 2007 11:13:23 +0100 Subject: [PATCH] Try to download smaller image if Amazon doesn't have the large one. --- plugins/amazon.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/amazon.py b/plugins/amazon.py index bcb088389..904a42ce2 100644 --- a/plugins/amazon.py +++ b/plugins/amazon.py @@ -7,8 +7,9 @@ from picard.util import partial _AMAZON_IMAGE_HOST = 'images.amazon.com' _AMAZON_IMAGE_PATH = '/images/P/%s.01.LZZZZZZZ.jpg' +_AMAZON_IMAGE_PATH_SMALL = '/images/P/%s.01.MZZZZZZZ.jpg' -def _coverart_downloaded(album, metadata, data, http, error): +def _coverart_downloaded(album, metadata, path, data, http, error): try: if error: album.log.error(str(http.errorString())) @@ -18,17 +19,18 @@ def _coverart_downloaded(album, metadata, data, http, error): metadata.add("~artwork", image) for track in album._new_tracks: track.metadata.add("~artwork", image) + elif path.endswith('LZZZZZZZ.jpg'): + amazon_coverart(album, metadata, None, _AMAZON_IMAGE_PATH_SMALL) finally: album._requests -= 1 album._finalize_loading(None) -def amazon_coverart(album, metadata, release): +def amazon_coverart(album, metadata, release, path=_AMAZON_IMAGE_PATH): asin = metadata['asin'] if asin: album._requests += 1 album.tagger.xmlws.download( - _AMAZON_IMAGE_HOST, 80, - _AMAZON_IMAGE_PATH % asin, - partial(_coverart_downloaded, album, metadata)) + _AMAZON_IMAGE_HOST, 80, path % asin, + partial(_coverart_downloaded, album, metadata, path)) register_album_metadata_processor(amazon_coverart)