Spaces:
Sleeping
Sleeping
File size: 1,209 Bytes
db30991 2c5c2f4 db30991 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | """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}
|