aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Item.py5
-rw-r--r--app/utils.py8
2 files changed, 8 insertions, 5 deletions
diff --git a/app/Item.py b/app/Item.py
index 23a841e..7376301 100644
--- a/app/Item.py
+++ b/app/Item.py
@@ -1,5 +1,5 @@
from dataclasses import dataclass
-import time
+from datetime import datetime
@dataclass
@@ -19,7 +19,8 @@ class Item:
link: str | None
description: str | None
author: str | None
- pub_date: time.struct_time | None
+ pub_date: datetime | None
category: str | None
comments: str | None
enclosures: list[ItemEnclosure]
+ guid: str
diff --git a/app/utils.py b/app/utils.py
index 77ea775..626ee24 100644
--- a/app/utils.py
+++ b/app/utils.py
@@ -1,4 +1,4 @@
-import time
+from datetime import datetime
from typing import TypeAlias, Union
from app.Item import Item
from dataclasses import asdict
@@ -17,9 +17,11 @@ def get_param(key: str, params: Params) -> str:
def item_to_dict(item: Item) -> ItemDict:
- return asdict(item)
+ d = asdict(item)
+ d["pub_date"] = datetime.isoformat(d["pub_date"]) if d["pub_date"] else None
+ return d
def dict_to_item(d: ItemDict) -> Item:
pub_date, rest = (lambda pub_date, **rest: (pub_date, rest))(**d) # type: ignore
- return Item(pub_date=time.struct_time(pub_date), **rest) # type: ignore
+ return Item(pub_date=datetime.fromisoformat(pub_date), **rest) # type: ignore