WIP: Regression hell

This commit is contained in:
2026-03-06 21:22:21 -05:00
parent 528f0a04c3
commit f65e9b40b2
14 changed files with 359 additions and 97 deletions

View File

@@ -1,5 +1,6 @@
from __future__ import annotations
import tomllib
import datetime
from dataclasses import dataclass, field
from typing import List, Optional, Dict, Any, Union
from pathlib import Path
@@ -179,12 +180,24 @@ class Metadata:
@classmethod
def from_dict(cls, data: Dict[str, Any]) -> "Metadata":
created = data.get("created_at")
updated = data.get("updated_at")
if isinstance(created, str):
try:
created = datetime.datetime.fromisoformat(created)
except ValueError:
pass
if isinstance(updated, str):
try:
updated = datetime.datetime.fromisoformat(updated)
except ValueError:
pass
return cls(
id=data["id"],
name=data.get("name", ""),
status=data.get("status", "todo"),
created_at=data.get("created_at"),
updated_at=data.get("updated_at"),
created_at=created,
updated_at=updated,
)