diff --git a/src/reader/_storage.py b/src/reader/_storage.py index d41d5416..28f43dd1 100644 --- a/src/reader/_storage.py +++ b/src/reader/_storage.py @@ -1239,7 +1239,9 @@ def make_get_entries_query( entries.content entries.enclosures entries.read + entries.read_modified entries.important + entries.important_modified entries.last_updated entries.original_feed """.split() @@ -1270,9 +1272,11 @@ def entry_factory(t: Tuple[Any, ...]) -> Entry: tuple(Content(**d) for d in json.loads(t[17])) if t[17] else (), tuple(Enclosure(**d) for d in json.loads(t[18])) if t[18] else (), t[19] == 1, - t[20] == 1, - t[21], - t[22] or feed.url, + t[20], + t[21] == 1, + t[22], + t[23], + t[24] or feed.url, feed, ) return Entry._make(entry) diff --git a/src/reader/types.py b/src/reader/types.py index ea4337c4..0f21d900 100644 --- a/src/reader/types.py +++ b/src/reader/types.py @@ -230,9 +230,23 @@ def feed_url(self) -> str: #: Whether the entry was read or not. read: bool = False + #: The date when :attr:`read` was last set by the user; + #: :const:`None` if that never happened, + #: or the entry predates the date being recorded. + #: + #: .. versionadded:: 2.2 + read_modified: Optional[datetime] = None + #: Whether the entry is important or not. important: bool = False + #: The date when :attr:`important` was last set by the user; + #: :const:`None` if that never happened, + #: or the entry predates the date being recorded. + #: + #: .. versionadded:: 2.2 + important_modified: Optional[datetime] = None + #: The date when the entry was last updated by reader. #: #: .. versionadded:: 1.3