Agregada busqueda y cambiada nuevamente api
This commit is contained in:
130
fetcher/views.py
130
fetcher/views.py
@@ -5,72 +5,6 @@ from rest_framework.response import Response
|
||||
from . import musicbrainz as mb, medium
|
||||
|
||||
|
||||
def _get_by_mbid(request, entity_type, mbid):
|
||||
includes = request.GET.get('inc', '').split('+')
|
||||
|
||||
if entity_type == 'artist':
|
||||
response = mb.get_artist_by_mbid(mbid, includes)
|
||||
elif entity_type == 'release-group':
|
||||
response = mb.get_release_group_by_mbid(mbid, includes)
|
||||
elif entity_type == 'release':
|
||||
response = mb.get_release_by_mbid(mbid, includes)
|
||||
elif entity_type == 'recording':
|
||||
response = mb.get_recording_by_mbid(mbid, includes)
|
||||
else:
|
||||
raise ValueError('Entity Type isn\'t valid')
|
||||
|
||||
if 'status' in response:
|
||||
return Response(response, status=response['status'])
|
||||
else:
|
||||
return Response(response)
|
||||
|
||||
|
||||
def _search(request, entity_type):
|
||||
query = request.GET.get('query', '')
|
||||
limit = request.GET.get('limit', 25)
|
||||
offset = request.GET.get('offset', 0)
|
||||
|
||||
if entity_type == 'artist':
|
||||
response = mb.search_artist(query, limit, offset)
|
||||
elif entity_type == 'release-group':
|
||||
response = mb.search_release_group(query, limit, offset)
|
||||
elif entity_type == 'release':
|
||||
response = mb.search_release(query, limit, offset)
|
||||
elif entity_type == 'recording':
|
||||
response = mb.search_recording(query, limit, offset)
|
||||
else:
|
||||
raise ValueError('Entity Type isn\'t valid')
|
||||
|
||||
return Response(response)
|
||||
|
||||
|
||||
def _browse(request, entity_type):
|
||||
includes = request.GET.get('inc', '').split('+')
|
||||
limit = request.GET.get('limit', 25)
|
||||
offset = request.GET.get('offset', 0)
|
||||
|
||||
params = request.GET.copy().dict()
|
||||
if 'inc' in params:
|
||||
del params['inc']
|
||||
if 'limit' in params:
|
||||
del params['limit']
|
||||
if 'offset' in params:
|
||||
del params['offset']
|
||||
|
||||
if entity_type == 'artist':
|
||||
response = mb.browse_artists(params, includes, limit, offset)
|
||||
elif entity_type == 'release-group':
|
||||
response = mb.browse_release_groups(params, includes, limit, offset)
|
||||
elif entity_type == 'release':
|
||||
response = mb.browse_releases(params, includes, limit, offset)
|
||||
elif entity_type == 'recording':
|
||||
response = mb.browse_recordings(params, includes, limit, offset)
|
||||
else:
|
||||
raise ValueError('Entity Type isn\'t valid')
|
||||
|
||||
return Response(response)
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def get_artist(request, mbid):
|
||||
return Response(medium.get_artist(mbid))
|
||||
@@ -115,57 +49,45 @@ def get_recordings_of_release(request, mbid):
|
||||
return Response(medium.get_recordings_of_release(mbid, limit, page))
|
||||
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def get_artist_by_mbid(request, mbid): return _get_by_mbid(request, 'artist', mbid)
|
||||
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 get_release_group_by_mbid(request, mbid): return _get_by_mbid(request, 'release-group', mbid)
|
||||
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 get_release_by_mbid(request, mbid): return _get_by_mbid(request, 'release', mbid)
|
||||
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 get_recording_by_mbid(request, mbid): return _get_by_mbid(request, 'recording', mbid)
|
||||
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 search_artist(request): return _search(request, 'artist')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def search_release_group(request): return _search(request, 'release-group')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def search_release(request): return _search(request, 'release')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def search_recording(request): return _search(request, 'recording')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def browse_artists(request): return _browse(request, 'artist')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def browse_release_groups(request): return _browse(request, 'release-group')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def browse_releases(request): return _browse(request, 'release')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def browse_recordings(request): return _browse(request, 'recording')
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
def get_release_cover_art(request, mbid, size=None): return Response(mb.get_release_cover_art(mbid, size))
|
||||
def get_release_cover_art(request, mbid, size=None):
|
||||
return Response(mb.get_release_cover_art(mbid, size))
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
|
||||
Reference in New Issue
Block a user