diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2023-09-04 13:12:14 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2023-09-10 19:01:00 +0300 |
| commit | 3b32b14f44476f2b4a450f7226523321e69c0c08 (patch) | |
| tree | cfb93d411ce7938f03403790abffbd1c4d04ed54 /app | |
| parent | 70607eeb1fc4d3fb259ad7a9c07cb26afe1493cd (diff) | |
Improve DigestPlugin
Diffstat (limited to 'app')
| -rw-r--r-- | app/Item.py | 5 | ||||
| -rw-r--r-- | app/utils.py | 8 |
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 |
