Tampoco era buena idea hacer querys en los mapeos

This commit is contained in:
Daniel Cortes
2020-06-08 04:19:05 -04:00
parent a3b4479579
commit fce2072f82

View File

@@ -85,7 +85,7 @@ def map_artist_credit(mb_artist_credit):
}
def map_disc(mb_disc):
def map_disc(mb_disc, cover_art=None):
"""Mapea el modelo de disco entregado por musicbrainz a uno propio"""
disc = {
'id': mb_disc.get('id'),
@@ -93,7 +93,7 @@ def map_disc(mb_disc):
'disambiguation': mb_disc.get('disambiguation'),
'first_release_date': mb_disc.get('first_release_date'),
'primary_type': mb_disc.get('primary_type'),
'cover_art': get_cover_art_disc(mb_disc.get('id')),
'cover_art': cover_art,
'artist': [map_artist_credit(c) for c in mb_disc.get('artist_credit')]
}
@@ -103,7 +103,7 @@ def map_disc(mb_disc):
return disc
def map_release(mb_release):
def map_release(mb_release, cover_art=None):
"""Mapea el modelo de release entregado por musicbrainz a uno propio"""
return {
'id': mb_release.get('id'),
@@ -112,7 +112,7 @@ def map_release(mb_release):
'status': mb_release.get('status'),
'country': mb_release.get('country'),
'date': mb_release.get('date'),
'cover_art': get_cover_art_release(mb_release.get('id')),
'cover_art': cover_art,
'artist': [map_artist_credit(c) for c in mb_release.get('artist_credit')]
}
@@ -161,6 +161,7 @@ def get_artist(mbid):
def get_disc(mbid):
"""Obtiene un disco desde musicbrainz incluyendo sus artistas"""
mb_disc = mb.get_release_group_by_mbid(mbid, includes=['artists'])
if 'error' in mb_disc:
return mb_disc
@@ -171,6 +172,7 @@ def get_discs_of_artist(mbid, limit, page):
"""Obtiene los discos de un artista desde musicbrainz incluyendo los creditos al artista"""
mb_discs = mb.browse_release_groups(params={'artist': mbid}, includes=['artist-credits'],
limit=limit, offset=limit * (page - 1))
if 'error' in mb_discs:
return mb_discs
@@ -183,6 +185,7 @@ def get_discs_of_artist(mbid, limit, page):
def get_artist_of_disc(mbid, limit, page):
"""Obtiene el artista de un disco"""
mb_artists = mb.browse_artists(params={'disc': mbid}, limit=limit, offset=limit * (page - 1))
if 'error' in mb_artists:
return mb_artists
@@ -199,6 +202,7 @@ def get_artist_of_disc(mbid, limit, page):
def get_release(mbid):
"""Obtiene una release desde musicbrainz incluyendo sus artistas"""
mb_release = mb.get_release_by_mbid(mbid, includes=['artists'])
if 'error' in mb_release:
return mb_release
@@ -209,6 +213,7 @@ def get_releases_of_disc(mbid, limit, page):
"""Obtiene las releases de un disco desde musicbrainz incluyendo los creditos a su artistas"""
mb_releases = mb.browse_releases(params={'release-group': mbid}, includes=['artist-credits'],
limit=limit, offset=limit * (page - 1))
if 'error' in mb_releases:
return mb_releases
@@ -221,6 +226,7 @@ def get_releases_of_disc(mbid, limit, page):
def get_artist_of_release(mbid, limit, page):
"""Obtiene el artista de una release"""
mb_artists = mb.browse_artists(params={'release': mbid}, limit=limit, offset=limit * (page - 1))
if 'error' in mb_artists:
return mb_artists
@@ -238,6 +244,7 @@ def get_artist_of_release(mbid, limit, page):
def get_recording(mbid):
"""Obtiene una grabacion incluyendo a su artista"""
mb_recording = mb.get_recording_by_mbid(mbid, includes=['artists'])
if 'error' in mb_recording:
return mb_recording
@@ -248,6 +255,7 @@ def get_recordings_of_release(mbid, limit, page):
"""Obtiene las grabaciones de una release incluyendo los creditos a su artista"""
mb_recordings = mb.browse_recordings(params={'release': mbid}, includes=['artist-credits'],
limit=limit, offset=limit * (page - 1))
if 'error' in mb_recordings:
return mb_recordings
@@ -261,6 +269,7 @@ def get_release_of_recording(mbid, limit, page):
"""Obtiene la release de una grabacion incluyendo los creditos a su artista"""
mb_releases = mb.browse_releases(params={'recording': mbid}, includes=['artists-credits'],
limit=limit, offset=limit * (page - 1))
if 'error' in mb_releases:
return mb_releases
@@ -274,6 +283,7 @@ def get_artist_of_recording(mbid, limit, page):
"""Obtiene el artista de una grabacion"""
mb_artists = mb.browse_artists(params={'recording': mbid}, limit=limit,
offset=limit * (page - 1))
if 'error' in mb_artists:
return mb_artists
@@ -291,6 +301,7 @@ def get_artist_of_recording(mbid, limit, page):
def get_cover_art_disc(mbid):
"""Obtiene el cover art de un disco"""
mb_covers = mb.get_release_group_cover_art(mbid)
if 'error' in mb_covers:
return None
@@ -303,6 +314,7 @@ def get_cover_art_disc(mbid):
def get_cover_art_release(mbid):
"""Obtiene el cover art de una release"""
mb_covers = mb.get_release_cover_art(mbid)
if 'error' in mb_covers:
return None
@@ -315,11 +327,13 @@ def get_cover_art_release(mbid):
def get_cover_art_recording(mbid):
"""Obtiene el cover art de una grabacion"""
release = get_release_of_recording(mbid, limit=1, page=1)
if 'error' in release:
return None
return get_cover_art_release(release['releases'][0]['id'])
##
# Busqueda
##
@@ -328,6 +342,7 @@ def get_cover_art_recording(mbid):
def search_artist(query, limit, page):
"""Busca un artista dada una query"""
mb_artists = mb.search_artist(query=query, limit=limit, offset=limit * (page - 1))
if 'error' in mb_artists:
return mb_artists