Fixed python time again..
This commit is contained in:
parent
950d643325
commit
9780923e6a
@ -5,7 +5,7 @@ from models.enums import TaskStatus
|
|||||||
from models.event import MetadataSearchResultEvent
|
from models.event import MetadataSearchResultEvent
|
||||||
from models.task import MetadataSearchPayload, Task, MetadataSearchTask, MetadataSearchData
|
from models.task import MetadataSearchPayload, Task, MetadataSearchTask, MetadataSearchData
|
||||||
from utils.logger import logger
|
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]:
|
def fetch_next_task(db: Database) -> Optional[Task]:
|
||||||
db.validate()
|
db.validate()
|
||||||
@ -31,8 +31,8 @@ def fetch_next_task(db: Database) -> Optional[Task]:
|
|||||||
claimed=row["CLAIMED"],
|
claimed=row["CLAIMED"],
|
||||||
claimedBy=row["CLAIMED_BY"],
|
claimedBy=row["CLAIMED_BY"],
|
||||||
consumed=row["CONSUMED"],
|
consumed=row["CONSUMED"],
|
||||||
lastCheckIn=row["LAST_CHECK_IN"],
|
lastCheckIn=parse_mysql_ts(row["LAST_CHECK_IN"]),
|
||||||
persistedAt=row["PERSISTED_AT"]
|
persistedAt=parse_mysql_ts(row["PERSISTED_AT"])
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
from utils.time import utc_now
|
from utils.time import parse_mysql_ts, utc_now
|
||||||
import pytest
|
import pytest
|
||||||
from db import repository
|
from db import repository
|
||||||
from models.event import MetadataSearchResultEvent, EventMetadata, SearchResult, MetadataResult, Summary
|
from models.event import MetadataSearchResultEvent, EventMetadata, SearchResult, MetadataResult, Summary
|
||||||
@ -87,7 +87,7 @@ def make_row(task_id, ref_id):
|
|||||||
"CLAIMED_BY": None,
|
"CLAIMED_BY": None,
|
||||||
"CONSUMED": False,
|
"CONSUMED": False,
|
||||||
"LAST_CHECK_IN": None,
|
"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):
|
def test_fetch_next_task_maps_correctly(monkeypatch):
|
||||||
@ -117,7 +117,7 @@ def test_fetch_next_task_maps_correctly(monkeypatch):
|
|||||||
claimedBy=row["CLAIMED_BY"],
|
claimedBy=row["CLAIMED_BY"],
|
||||||
consumed=row["CONSUMED"],
|
consumed=row["CONSUMED"],
|
||||||
lastCheckIn=row["LAST_CHECK_IN"],
|
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)
|
monkeypatch.setattr(repository, "fetch_next_task", fake_fetch_next_task)
|
||||||
|
|||||||
@ -3,3 +3,8 @@ from datetime import datetime, timezone
|
|||||||
def utc_now():
|
def utc_now():
|
||||||
"""Returnerer nåværende tid i UTC som en timezone-aware datetime."""
|
"""Returnerer nåværende tid i UTC som en timezone-aware datetime."""
|
||||||
return datetime.now(timezone.utc)
|
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)
|
||||||
|
|||||||
@ -7,7 +7,7 @@ from utils.time import utc_now
|
|||||||
|
|
||||||
# --- Metadata ---
|
# --- Metadata ---
|
||||||
class Metadata(BaseModel):
|
class Metadata(BaseModel):
|
||||||
created: str
|
created: datetime
|
||||||
derivedFromId: Optional[Set[str]] = None
|
derivedFromId: Optional[Set[str]] = None
|
||||||
|
|
||||||
# --- FileInfo ---
|
# --- FileInfo ---
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user