summarizer_space / main.py
Asanaly
Update main.py
267af12 verified
raw
history blame
1.3 kB
from fastapi import FastAPI, UploadFile, File
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles
from summarizer import generate_summary
from pdf_reader import extract_text_from_pdf
app = FastAPI()
# CORS (frontend ↔ backend)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
# Барлық файлдар бір папкада → static ретінде қосамыз
app.mount("/static", StaticFiles(directory="."), name="static")
# Frontend main page
@app.get("/")
async def root():
return FileResponse("index.html")
# TEXT summarization
@app.post("/summarize/text")
async def summarize_text(data: dict):
text = data.get("text", "")
if not text.strip():
return {"summary": "No text provided."}
summary = generate_summary(text)
return {"summary": summary}
# PDF summarization
@app.post("/summarize/pdf")
async def summarize_pdf(file: UploadFile = File(...)):
pdf_bytes = await file.read()
text = extract_text_from_pdf(pdf_bytes)
if not text.strip():
return {"summary": "PDF is empty or could not be processed."}
summary = generate_summary(text)
return {"summary": summary}