from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework import serializers
-from depot.woblink import get_woblink_session
+import depot.models
@login_required
-def woblink_author_autocomplete(request):
- session = get_woblink_session()
+def woblink_autocomplete(request, category):
+ site = depot.models.Site.objects.filter(site_type='woblink').first()
+ if site is None:
+ return JsonResponse({})
+ woblink = site.get_publisher()
term = request.GET.get('term')
if not term:
return JsonResponse({})
- response = session.get(
- 'https://publisher.woblink.com/author/autocomplete/' + term
- ).json()
- return JsonResponse({
- "results": [
- {
- "id": item['autId'],
- "text": item['autFullname'],
- }
- for item in response
- ],
- })
+
+ if category == 'author':
+ results = woblink.search_author_catalogue(term)
+ elif category == 'series':
+ results = woblink.search_series_catalogue(term)
+ else:
+ raise Http404
+
+ return JsonResponse({"results": results})