kiko-dateparser / app.py
vanifala's picture
Upload app.py with huggingface_hub
2c5c2f4 verified
"""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}