Cambios para satisfacer a pylint
This commit is contained in:
@@ -1,13 +1,22 @@
|
||||
"""
|
||||
Mediador entre musicbrainz y las urls
|
||||
Su objetivo es modificar los datos que entrega musicbrainz para que sean
|
||||
correspondientes con lo que debe entregar la api, se encarga de casos como
|
||||
traducción.
|
||||
"""
|
||||
from math import ceil
|
||||
from country_list import countries_for_language
|
||||
from utils import parallel_map
|
||||
import fetcher.musicbrainz as mb
|
||||
from utils import pretty_print_json, parallel_map
|
||||
|
||||
|
||||
def full_country_name(country_code):
|
||||
from country_list import countries_for_language
|
||||
"""Obtiene el nombre de un pais en español dado su codigo de pais"""
|
||||
return dict(countries_for_language('es')).get(country_code, country_code)
|
||||
|
||||
|
||||
def translate_artist_type(artist_type):
|
||||
"""Traduce los tipos de artista a español"""
|
||||
translation = {
|
||||
'Person': 'Persona',
|
||||
'Group': 'Grupo',
|
||||
@@ -20,6 +29,7 @@ def translate_artist_type(artist_type):
|
||||
|
||||
|
||||
def map_artist(mb_artist):
|
||||
"""Mapea el modelo de artista entregado por musicbrainz a uno propio"""
|
||||
artist = {
|
||||
'id': mb_artist.get('id'),
|
||||
'name': mb_artist.get('name'),
|
||||
@@ -34,6 +44,7 @@ def map_artist(mb_artist):
|
||||
|
||||
|
||||
def map_artist_credit(mb_artist_credit):
|
||||
"""Mapea el modelo de credito a artista entregado por musicbrainz a uno propio"""
|
||||
return {
|
||||
'id': mb_artist_credit.get('artist').get('id'),
|
||||
'name': mb_artist_credit.get('artist').get('name'),
|
||||
@@ -43,6 +54,7 @@ def map_artist_credit(mb_artist_credit):
|
||||
|
||||
|
||||
def map_disc(mb_disc):
|
||||
"""Mapea el modelo de disco entregado por musicbrainz a uno propio"""
|
||||
disc = {
|
||||
'id': mb_disc.get('id'),
|
||||
'title': mb_disc.get('title'),
|
||||
@@ -60,6 +72,7 @@ def map_disc(mb_disc):
|
||||
|
||||
|
||||
def map_release(mb_release):
|
||||
"""Mapea el modelo de release entregado por musicbrainz a uno propio"""
|
||||
return {
|
||||
'id': mb_release.get('id'),
|
||||
'title': mb_release.get('title'),
|
||||
@@ -73,6 +86,7 @@ def map_release(mb_release):
|
||||
|
||||
|
||||
def map_recording(mb_recording):
|
||||
"""Mapea el modelo de recording entregado por musicbrainz a uno propio"""
|
||||
return {
|
||||
'id': mb_recording.get('id'),
|
||||
'title': mb_recording.get('title'),
|
||||
@@ -83,6 +97,7 @@ def map_recording(mb_recording):
|
||||
|
||||
|
||||
def map_coverart(mb_cover):
|
||||
"""Mapea el modelo de coverart entregado por musicbrainz a uno propio"""
|
||||
return {
|
||||
'image': mb_cover.get('image'),
|
||||
'1200': mb_cover.get('thumbnails', {}).get('1200'),
|
||||
@@ -94,7 +109,9 @@ def map_coverart(mb_cover):
|
||||
|
||||
|
||||
def find_best_cover(mb_covers):
|
||||
only_aproved_front = [x for x in mb_covers.get('images') if x.get('approved', False) and x.get('front', False) and not x.get('back', False)]
|
||||
"""Intenta obtener la cover art mas apropiada a partir de una lista de estas"""
|
||||
only_aproved_front = [x for x in mb_covers.get('images') if x.get('approved', False)
|
||||
and x.get('front', False) and not x.get('back', False)]
|
||||
if len(only_aproved_front) > 0:
|
||||
return only_aproved_front[0]
|
||||
|
||||
@@ -106,7 +123,8 @@ def find_best_cover(mb_covers):
|
||||
|
||||
|
||||
def paginate(count, limit, page):
|
||||
from math import ceil
|
||||
"""Crea un modelo de paginado a partir de la cantidad de elementos, el limite de elementos y la
|
||||
pagina actual"""
|
||||
return {
|
||||
'total': count,
|
||||
'current_page': page,
|
||||
@@ -116,6 +134,7 @@ def paginate(count, limit, page):
|
||||
|
||||
|
||||
def get_artist(mbid):
|
||||
"""Obtiene un artista desde musicbrainz incluyendo sus tags"""
|
||||
mb_artist = mb.get_artist_by_mbid(mbid, includes=['tags'])
|
||||
|
||||
if 'error' in mb_artist:
|
||||
@@ -125,6 +144,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
|
||||
@@ -133,7 +153,9 @@ def get_disc(mbid):
|
||||
|
||||
|
||||
def get_discs_of_artist(mbid, limit, page):
|
||||
mb_discs = mb.browse_release_groups(params={'artist': mbid}, includes=['artist-credits'], limit=limit, offset=limit * (page - 1))
|
||||
"""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
|
||||
|
||||
@@ -144,6 +166,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
|
||||
@@ -155,6 +178,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
|
||||
@@ -163,7 +187,9 @@ def get_release(mbid):
|
||||
|
||||
|
||||
def get_releases_of_disc(mbid, limit, page):
|
||||
mb_releases = mb.browse_releases(params={'release-group': mbid}, includes=['artist-credits'], limit=limit, offset=limit * (page - 1))
|
||||
"""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
|
||||
|
||||
@@ -174,6 +200,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
|
||||
@@ -185,6 +212,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
|
||||
@@ -193,18 +221,22 @@ def get_recording(mbid):
|
||||
|
||||
|
||||
def get_recordings_of_release(mbid, limit, page):
|
||||
mb_recordings = mb.browse_recordings(params={'release': mbid}, includes=['artist-credits'], limit=limit, offset=limit * (page - 1))
|
||||
"""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
|
||||
|
||||
return {
|
||||
'paginate': paginate(mb_recordings.get('recording_count', 0), limit, page),
|
||||
'recordings': parallel_map(mb_recordings['recordings'], map_recording())
|
||||
'recordings': parallel_map(mb_recordings['recordings'], map_recording)
|
||||
}
|
||||
|
||||
|
||||
def get_release_of_recording(mbid, limit, page):
|
||||
mb_releases = mb.browse_releases(params={'recording': mbid}, includes=['artists-credits'], limit=limit, offset=limit * (page - 1))
|
||||
"""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
|
||||
|
||||
@@ -215,7 +247,9 @@ def get_release_of_recording(mbid, limit, page):
|
||||
|
||||
|
||||
def get_artist_of_recording(mbid, limit, page):
|
||||
mb_artists = mb.browse_artists(params={'recording': mbid}, limit=limit, offset=limit * (page - 1))
|
||||
"""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
|
||||
|
||||
@@ -226,6 +260,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
|
||||
@@ -237,6 +272,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
|
||||
@@ -248,6 +284,7 @@ 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
|
||||
@@ -256,6 +293,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
|
||||
@@ -267,7 +305,9 @@ def search_artist(query, limit, page):
|
||||
|
||||
|
||||
def search_disc(query, limit, page):
|
||||
mb_discs = mb.search_release_group(query=query, includes=['artist'], limit=limit, offset=limit * (page - 1))
|
||||
"""Busca un disco dada una query"""
|
||||
mb_discs = mb.search_release_group(query=query, includes=['artist'], limit=limit,
|
||||
offset=limit * (page - 1))
|
||||
|
||||
return {
|
||||
'paginate': paginate(mb_discs['count'], limit, page),
|
||||
@@ -276,7 +316,9 @@ def search_disc(query, limit, page):
|
||||
|
||||
|
||||
def search_release(query, limit, page):
|
||||
mb_releases = mb.search_release(query=query, includes=['artist'], limit=limit, offset=limit * (page - 1))
|
||||
"""Busca una release dada una query"""
|
||||
mb_releases = mb.search_release(query=query, includes=['artist'], limit=limit,
|
||||
offset=limit * (page - 1))
|
||||
|
||||
return {
|
||||
'paginate': paginate(mb_releases['count'], limit, page),
|
||||
@@ -285,11 +327,11 @@ def search_release(query, limit, page):
|
||||
|
||||
|
||||
def search_recording(query, limit, page):
|
||||
mb_recording = mb.search_recording(query=query, includes=['artist'], limit=limit, offset=limit * (page - 1))
|
||||
"""Busca una grabacion dada una query"""
|
||||
mb_recording = mb.search_recording(query=query, includes=['artist'], limit=limit,
|
||||
offset=limit * (page - 1))
|
||||
|
||||
return {
|
||||
'paginate': paginate(mb_recording['count'], limit, page),
|
||||
'recordings': parallel_map(mb_recording['recordings'], map_recording)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user