# scholar.views.py
from django.shortcuts import render

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
import requests

class ScholarAPIView(APIView):
    def post(self, request, *args, **kwargs):
        url = "https://google.serper.dev/scholar"
        payload = {
            "q": request.data.get("query", "")
        }
        headers = {
            'X-API-KEY': 'ccc5b7632da9962c1ddbefb107ac44669ad35223',
            'Content-Type': 'application/json'
        }

        response = requests.post(url, headers=headers, json=payload)

        if response.status_code == 200:
            # Traitement des données pour le format souhaité
            raw_results = response.json()
            results = []
            for item in raw_results.get("organic", []):
                result = {
                    "title": item.get("title", ""),
                    "link": item.get("link", ""),
                    "snippet": item.get("snippet", ""),
                    "date": item.get("date","")
                }
                results.append(result)
                
            
                
                
            data = {"results": results}
            return render(request, 'home/results_scholar.html', {'results': results})
        else:
            return JsonResponse({'error': 'Une erreur s\'est produite lors de la requête à l\'API Scholar'}, status=response.status_code)