"""Dateparser Server for HuggingFace Spaces.""" import os from fastapi import FastAPI from pydantic import BaseModel import dateparser LOCALE = os.environ.get("LOCALE", "pt-BR") app = FastAPI() class ParseRequest(BaseModel): text: str locale: str | None = None base_date: str | None = None # accepted, used if provided class ParseBatchRequest(BaseModel): texts: list[str] locale: str | None = None @app.get("/health") def health(): return {"status": "ok", "locale": LOCALE} @app.post("/parse") def parse(req: ParseRequest): locale = req.locale or LOCALE result = dateparser.parse(req.text, languages=[locale.split("-")[0]]) return { "input": req.text, "parsed": result.isoformat() if result else None, "locale": locale, } @app.post("/parse_batch") def parse_batch(req: ParseBatchRequest): locale = req.locale or LOCALE lang = locale.split("-")[0] results = [] for text in req.texts: result = dateparser.parse(text, languages=[lang]) results.append({ "input": text, "parsed": result.isoformat() if result else None, }) return {"results": results, "locale": locale}