From dc8d701fce1c3dcc4c23f16e74ff7d082318f30b Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Sun, 14 Jun 2020 19:36:27 -0400 Subject: [PATCH 1/2] Revisados los mapeos de entidades --- fetcher/medium.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/fetcher/medium.py b/fetcher/medium.py index f8cc493..c348e33 100644 --- a/fetcher/medium.py +++ b/fetcher/medium.py @@ -92,35 +92,42 @@ def map_artist_credit(mb_artist_credit): } -def map_disc(mb_disc, cover_art=None): +def map_disc(mb_disc, artist=True): """Mapea el modelo de disco entregado por musicbrainz a uno propio""" disc = { 'id': mb_disc.get('id'), 'title': mb_disc.get('title'), 'disambiguation': mb_disc.get('disambiguation'), 'first_release_date': mb_disc.get('first_release_date'), - 'primary_type': mb_disc.get('primary_type'), - 'cover_art': cover_art, + 'primary_type': mb_disc.get('primary_type') } + if artist: + disc['artist'] = map_artist_credit(mb_disc.get('artist_credit')[0]) + if len(mb_disc.get('secondary_types', [])) > 0: disc['secondary_type'] = mb_disc['secondary_types'][0] return disc -def map_release(mb_release, cover_art=None): +def map_release(mb_release, artist=True): """Mapea el modelo de release entregado por musicbrainz a uno propio""" - return { + release = { 'id': mb_release.get('id'), 'title': mb_release.get('title'), 'disambiguation': mb_release.get('disambiguation'), 'status': mb_release.get('status'), 'country': mb_release.get('country'), 'date': mb_release.get('date'), - 'cover_art': cover_art, + 'coverart': mb_release.get('cover_art_archive', {}).get('count', 0) > 0, } + if artist: + release['artist'] = map_artist_credit(mb_release.get('artist_credit')[0]) + + return release + def map_media(mb_media): """Transforma una instancia de media dentro de una release a una util para mis propósitos""" @@ -128,7 +135,7 @@ def map_media(mb_media): 'format': mb_media.get('format'), 'position': mb_media.get('position'), 'track_count': mb_media.get('track_count'), - 'recordings': [track.get('recording') for track in mb_media.get('tracks')] + 'recordings': [map_recording(track.get('recording')) for track in mb_media.get('tracks')] } return media From 3ca3a5b9f573cb11dd203a9ffd61afda09a55d1a Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Sun, 14 Jun 2020 19:59:11 -0400 Subject: [PATCH 2/2] Fix cuando coverart tiene error 404 --- fetcher/medium.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/fetcher/medium.py b/fetcher/medium.py index c348e33..f5213b6 100644 --- a/fetcher/medium.py +++ b/fetcher/medium.py @@ -435,10 +435,9 @@ def get_cover_art_disc(mbid): """Obtiene el cover art de un disco""" mb_covers = cache.get_cover_art_disc(mbid) - if mb_covers: - return map_coverart(find_best_cover(mb_covers)) - mb_covers = mb.get_release_group_cover_art(mbid) + if not mb_covers: + mb_covers = mb.get_release_group_cover_art(mbid) if 'error' in mb_covers: _log.error('Error al cargar cover %s', mb_covers) @@ -451,10 +450,8 @@ def get_cover_art_release(mbid): """Obtiene el cover art de una release""" mb_covers = cache.get_cover_art_release(mbid) - if mb_covers: - return map_coverart(find_best_cover(mb_covers)) - - mb_covers = mb.get_release_cover_art(mbid) + if not mb_covers: + mb_covers = mb.get_release_cover_art(mbid) if 'error' in mb_covers: _log.error('Error al cargar cover %s', mb_covers)