Fixed python time again..

This commit is contained in:
Brage Skjønborg 2026-01-23 01:56:05 +01:00
parent 950d643325
commit 9780923e6a
4 changed files with 13 additions and 8 deletions

View File

@ -5,7 +5,7 @@ from models.enums import TaskStatus
from models.event import MetadataSearchResultEvent
from models.task import MetadataSearchPayload, Task, MetadataSearchTask, MetadataSearchData
from utils.logger import logger
from utils.time import utc_now
from utils.time import parse_mysql_ts, utc_now
def fetch_next_task(db: Database) -> Optional[Task]:
db.validate()
@ -31,8 +31,8 @@ def fetch_next_task(db: Database) -> Optional[Task]:
claimed=row["CLAIMED"],
claimedBy=row["CLAIMED_BY"],
consumed=row["CONSUMED"],
lastCheckIn=row["LAST_CHECK_IN"],
persistedAt=row["PERSISTED_AT"]
lastCheckIn=parse_mysql_ts(row["LAST_CHECK_IN"]),
persistedAt=parse_mysql_ts(row["PERSISTED_AT"])
)
else:
return None

View File

@ -1,7 +1,7 @@
import json
import uuid
from datetime import datetime
from utils.time import utc_now
from datetime import datetime, timezone
from utils.time import parse_mysql_ts, utc_now
import pytest
from db import repository
from models.event import MetadataSearchResultEvent, EventMetadata, SearchResult, MetadataResult, Summary
@ -87,7 +87,7 @@ def make_row(task_id, ref_id):
"CLAIMED_BY": None,
"CONSUMED": False,
"LAST_CHECK_IN": None,
"PERSISTED_AT": utc_now()
"PERSISTED_AT": utc_now().strftime("%Y-%m-%d %H:%M:%S.%f")
}
def test_fetch_next_task_maps_correctly(monkeypatch):
@ -117,7 +117,7 @@ def test_fetch_next_task_maps_correctly(monkeypatch):
claimedBy=row["CLAIMED_BY"],
consumed=row["CONSUMED"],
lastCheckIn=row["LAST_CHECK_IN"],
persistedAt=datetime.fromisoformat(row["PERSISTED_AT"])
persistedAt=parse_mysql_ts(row["PERSISTED_AT"])
)
monkeypatch.setattr(repository, "fetch_next_task", fake_fetch_next_task)

View File

@ -3,3 +3,8 @@ from datetime import datetime, timezone
def utc_now():
"""Returnerer nåværende tid i UTC som en timezone-aware datetime."""
return datetime.now(timezone.utc)
def parse_mysql_ts(value):
if value is None:
return None
return datetime.strptime(value, "%Y-%m-%d %H:%M:%S.%f").replace(tzinfo=timezone.utc)

View File

@ -7,7 +7,7 @@ from utils.time import utc_now
# --- Metadata ---
class Metadata(BaseModel):
created: str
created: datetime
derivedFromId: Optional[Set[str]] = None
# --- FileInfo ---