157 lines
4.0 KiB
Python
157 lines
4.0 KiB
Python
import logging
|
|
from rest_framework.decorators import api_view
|
|
from rest_framework.response import Response
|
|
|
|
from . import musicbrainz as mb, medium
|
|
|
|
|
|
@api_view(['GET'])
|
|
def search_artist(request):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
query = request.GET.get('query')
|
|
if query:
|
|
return Response(medium.search_artist(query, limit, page))
|
|
|
|
return Response({'status': 400, 'error': 'Debe indicar una query'})
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_artist(request, mbid):
|
|
return Response(medium.get_artist(mbid))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_disc(request, mbid):
|
|
return Response(medium.get_disc(mbid))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def search_disc(request):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
query = request.GET.get('query')
|
|
if query:
|
|
return Response(medium.search_disc(query, limit, page))
|
|
|
|
return Response({'status': 400, 'error': 'Debe indicar una query'})
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_discs_of_artist(request, mbid):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_discs_of_artist(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_artist_of_disc(request, mbid):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_artist_of_disc(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_release(request, mbid):
|
|
return Response(medium.get_release(mbid))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def search_release(request):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
query = request.GET.get('query', '')
|
|
if query:
|
|
return Response(medium.search_release(query, limit, page))
|
|
|
|
return Response({'status': 400, 'error': 'Debe indicar una query'})
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_releases_of_disc(request, mbid):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_releases_of_disc(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_artist_of_release(request, mbid):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_artist_of_release(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_recording(request, mbid):
|
|
return Response(medium.get_recording(mbid))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def search_recording(request):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
query = request.GET.get('query', '')
|
|
if query:
|
|
return Response(medium.search_recording(query, limit, page))
|
|
|
|
return Response({'status': 400, 'error': 'Debe indicar una query'})
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_recordings_of_release(request, mbid):
|
|
limit = int(request.GET.get('per_page', 100))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_recordings_of_release(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_release_of_recording(request, mbid):
|
|
limit = int(request.GET.get('per_page', 100))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_release_of_recording(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_artist_of_recording(request, mbid):
|
|
limit = int(request.GET.get('per_page', 10))
|
|
page = int(request.GET.get('page', 1))
|
|
|
|
return Response(medium.get_artist_of_recording(mbid, limit, page))
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_cover_art_of_disc(request, mbid):
|
|
coverart = medium.get_cover_art_disc(mbid)
|
|
if coverart:
|
|
return Response(coverart)
|
|
else:
|
|
return Response(status=404)
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_cover_art_of_release(request, mbid):
|
|
coverart = medium.get_cover_art_release(mbid)
|
|
if coverart:
|
|
return Response(coverart)
|
|
else:
|
|
return Response(status=404)
|
|
|
|
|
|
@api_view(['GET'])
|
|
def get_cover_art_of_recording(request, mbid):
|
|
coverart = medium.get_cover_art_recording(mbid)
|
|
if coverart:
|
|
return Response(coverart)
|
|
else:
|
|
return Response(status=404)
|