Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, Query | |
| from fastapi.middleware.cors import CORSMiddleware | |
| from fastapi.responses import JSONResponse | |
| from utils.wikipedia_compare import fetch_multilingual_summaries | |
| from utils.wiktionary_lookup import get_definition | |
| from utils.summary_stats import compute_stats | |
| import sys | |
| import os | |
| sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) | |
| from Backend.utils.wikipedia_compare import fetch_multilingual_summaries | |
| app = FastAPI() | |
| # Supported Indic + English languages | |
| INDIC_LANGS = ['hi', 'te', 'ta', 'ml', 'kn'] | |
| # Allow Flutter frontend access | |
| app.add_middleware( | |
| CORSMiddleware, | |
| allow_origins=["*"], | |
| allow_methods=["*"], | |
| allow_headers=["*"], | |
| allow_credentials=True,#changed | |
| ) | |
| def compare(topic: str = Query(...), source_lang: str = Query("en")): | |
| # Ensure source_lang is included | |
| langs = list(set(INDIC_LANGS + [source_lang])) | |
| summaries = fetch_multilingual_summaries(topic, source_lang, langs) | |
| stats = {lang: compute_stats(text) for lang, text in summaries.items()} | |
| return JSONResponse( | |
| content={"summaries": summaries, "stats": stats}, | |
| media_type="application/json; charset=utf-8" | |
| ) | |
| def define(word: str = Query(...), lang: str = Query("en")): | |
| definition = get_definition(word, lang) | |
| return {"word": word, "definition": definition} | |