Revisados los mapeos de entidades

This commit is contained in:
Daniel Cortes
2020-06-14 19:36:27 -04:00
parent a17d024393
commit dc8d701fce

View File

@@ -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""" """Mapea el modelo de disco entregado por musicbrainz a uno propio"""
disc = { disc = {
'id': mb_disc.get('id'), 'id': mb_disc.get('id'),
'title': mb_disc.get('title'), 'title': mb_disc.get('title'),
'disambiguation': mb_disc.get('disambiguation'), 'disambiguation': mb_disc.get('disambiguation'),
'first_release_date': mb_disc.get('first_release_date'), 'first_release_date': mb_disc.get('first_release_date'),
'primary_type': mb_disc.get('primary_type'), 'primary_type': mb_disc.get('primary_type')
'cover_art': cover_art,
} }
if artist:
disc['artist'] = map_artist_credit(mb_disc.get('artist_credit')[0])
if len(mb_disc.get('secondary_types', [])) > 0: if len(mb_disc.get('secondary_types', [])) > 0:
disc['secondary_type'] = mb_disc['secondary_types'][0] disc['secondary_type'] = mb_disc['secondary_types'][0]
return disc 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""" """Mapea el modelo de release entregado por musicbrainz a uno propio"""
return { release = {
'id': mb_release.get('id'), 'id': mb_release.get('id'),
'title': mb_release.get('title'), 'title': mb_release.get('title'),
'disambiguation': mb_release.get('disambiguation'), 'disambiguation': mb_release.get('disambiguation'),
'status': mb_release.get('status'), 'status': mb_release.get('status'),
'country': mb_release.get('country'), 'country': mb_release.get('country'),
'date': mb_release.get('date'), '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): def map_media(mb_media):
"""Transforma una instancia de media dentro de una release a una util para mis propósitos""" """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'), 'format': mb_media.get('format'),
'position': mb_media.get('position'), 'position': mb_media.get('position'),
'track_count': mb_media.get('track_count'), '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 return media