Publish curated GeoIntel source snapshot

This commit is contained in:
Jens committed 2026-09-29 22:16:56 +02:00
commit 0aae654d6e
764 files changed
+169154

No files matched your search

+60
View File
@@ -0,0 +1,60 @@
from __future__ import annotations
from datetime import datetime, timezone
from uuid import UUID, uuid4
from app.models import Metric, QualityCheck
class QualityService:
@staticmethod
def persist_quality_check(
db,
project_id: UUID,
reference_dataset_id: UUID,
check_type: str,
status: str,
score: float | None,
parameters: dict | None,
findings: dict | None,
*,
job_id: UUID | None = None,
analysis_run_id: UUID | None = None,
candidate_dataset_id: UUID | None = None,
metrics: dict[str, float | int | None] | None = None,
commit: bool = True,
) -> QualityCheck:
quality_check = QualityCheck(
id=uuid4(),
project_id=project_id,
job_id=job_id,
analysis_run_id=analysis_run_id,
candidate_dataset_id=candidate_dataset_id,
reference_dataset_id=reference_dataset_id,
check_type=check_type,
status=status,
score=score,
parameters_json=parameters or {},
findings_json=findings or {},
completed_at=datetime.now(timezone.utc),
)
db.add(quality_check)
if hasattr(db, "flush"):
db.flush()
for key, value in (metrics or {}).items():
db.add(
Metric(
id=uuid4(),
quality_check_id=quality_check.id,
analysis_run_id=analysis_run_id,
metric_key=key,
metric_value=float(value) if value is not None else None,
metadata_json={},
)
)
if commit:
db.commit()
db.refresh(quality_check)
return quality_check