Divisiones visuales en medium

This commit is contained in:
Daniel Cortes
2020-06-08 00:28:58 -04:00
parent c447416981
commit 67e5e8a7a2

View File

@@ -10,6 +10,10 @@ from utils import parallel_map
import fetcher.musicbrainz as mb
###
# Utility code
###
def full_country_name(country_code):
"""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)
@@ -28,6 +32,35 @@ def translate_artist_type(artist_type):
return translation.get(artist_type, artist_type)
def find_best_cover(mb_covers):
"""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]
only_aproved = [x for x in mb_covers.get('images') if x.get('approved', False)]
if len(only_aproved) > 0:
return only_aproved[0]
return mb_covers.get('images')[0]
def paginate(count, limit, page):
"""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,
'last_page': ceil(count / limit),
'per_page': limit,
}
###
# Mapear entidades
##
def map_artist(mb_artist):
"""Mapea el modelo de artista entregado por musicbrainz a uno propio"""
artist = {
@@ -108,30 +141,13 @@ def map_coverart(mb_cover):
}
def find_best_cover(mb_covers):
"""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]
only_aproved = [x for x in mb_covers.get('images') if x.get('approved', False)]
if len(only_aproved) > 0:
return only_aproved[0]
return mb_covers.get('images')[0]
def paginate(count, limit, page):
"""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,
'last_page': ceil(count / limit),
'per_page': limit,
}
##
# Obtener entidades
##
##
# Artistas
##
def get_artist(mbid):
"""Obtiene un artista desde musicbrainz incluyendo sus tags"""
@@ -177,6 +193,10 @@ def get_artist_of_disc(mbid, limit, page):
}
##
# Releases
##
def get_release(mbid):
"""Obtiene una release desde musicbrainz incluyendo sus artistas"""
mb_release = mb.get_release_by_mbid(mbid, includes=['artists'])
@@ -211,6 +231,11 @@ def get_artist_of_release(mbid, limit, page):
}
##
# Recordings
##
def get_recording(mbid):
"""Obtiene una grabacion incluyendo a su artista"""
mb_recording = mb.get_recording_by_mbid(mbid, includes=['artists'])
@@ -259,6 +284,11 @@ def get_artist_of_recording(mbid, limit, page):
}
##
# CoverArt
##
def get_cover_art_disc(mbid):
"""Obtiene el cover art de un disco"""
mb_covers = mb.get_release_group_cover_art(mbid)
@@ -291,6 +321,10 @@ def get_cover_art_recording(mbid):
return get_cover_art_release(release['releases'][0]['id'])
##
# Busqueda
##
def search_artist(query, limit, page):
"""Busca un artista dada una query"""