face-intel / services /export_service.py
Marwan
Restructure + add reverse face search (PimEyes-style)
f5eeb1c
Raw
History Blame Contribute Delete
891 Bytes
"""Export service — export job results as downloadable JSON."""
from __future__ import annotations
import json
from typing import Optional
from storage.database import Database
class ExportService:
"""Exports job results."""
def __init__(self, database: Database) -> None:
self._db = database
def export_job_json(self, job_id: str) -> Optional[dict]:
"""Returns a dict combining job metadata + result. None if not found."""
job = self._db.get_job(job_id)
if not job:
return None
result = self._db.get_result(job_id) or {}
return {
"job": job,
"result": result,
}
def export_job_json_str(self, job_id: str) -> Optional[str]:
data = self.export_job_json(job_id)
if data is None:
return None
return json.dumps(data, indent=2, default=str)