mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-01 06:09:22 +00:00
Try to download smaller image if Amazon doesn't have the large one.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user