Files
musiclist-server/fetcher/views.py
2020-05-22 22:24:39 -04:00

96 lines
2.4 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 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 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_release(request, mbid):
return Response(medium.get_release(mbid))
@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_recording(request, mbid):
return Response(medium.get_recording(mbid))
@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 search_artist(request):
query = request.GET.get('query', '')
limit = int(request.GET.get('per_page', 10))
page = int(request.GET.get('page', 1))
return Response(medium.search_artist(query, limit, page))
@api_view(['GET'])
def search_disc(request):
query = request.GET.get('query', '')
limit = int(request.GET.get('per_page', 10))
page = int(request.GET.get('page', 1))
return Response(medium.search_disc(query, limit, page))
@api_view(['GET'])
def search_release(request):
query = request.GET.get('query', '')
limit = int(request.GET.get('per_page', 10))
page = int(request.GET.get('page', 1))
return Response(medium.search_release(query, limit, page))
@api_view(['GET'])
def search_recording(request):
query = request.GET.get('query', '')
limit = int(request.GET.get('per_page', 10))
page = int(request.GET.get('page', 1))
return Response(medium.search_release(query, limit, page))
@api_view(['GET'])
def get_release_cover_art(request, mbid, size=None):
return Response(mb.get_release_cover_art(mbid, size))
@api_view(['GET'])
def get_release_group_cover_art(request, mbid, size=None):
return Response(mb.get_release_group_cover_art(mbid, size))