mirror of
https://codeberg.org/Reuh/feather.git
synced 2025-10-27 10:09:32 +00:00
fix: mark-as-read articles that were read on the server when only_sync_unread_articles = true
This commit is contained in:
parent
d77a92cb82
commit
0db9881d09
1 changed files with 15 additions and 9 deletions
|
|
@ -160,18 +160,24 @@ class FeatherApp:
|
|||
article.write()
|
||||
updated_articles += 1
|
||||
|
||||
# Remove articles that we didn't get from the server but are in the JSON directory
|
||||
# Remove or mark-as-read articles that we didn't get from the server but are in the JSON directory
|
||||
removed_articles = 0
|
||||
article_cutoff_timestamp = (
|
||||
datetime.now().timestamp() - config.keep_read_articles_for
|
||||
)
|
||||
for article in self.iter_articles():
|
||||
if (
|
||||
# we sync all articles: remove all articles that aren't on the server
|
||||
not config.only_sync_unread_articles
|
||||
# we only sync unread: only remove articles that are too old
|
||||
or article.last_write < article_cutoff_timestamp
|
||||
) and article.id not in grabbed_article_paths:
|
||||
if article.id not in grabbed_article_paths:
|
||||
# we only sync unread: articles we didn't get from the server were read or purged
|
||||
if config.only_sync_unread_articles:
|
||||
if article.last_write < article_cutoff_timestamp:
|
||||
article.delete()
|
||||
removed_articles += 1
|
||||
elif article.unread:
|
||||
article.unread = False
|
||||
article.regenerate()
|
||||
updated_articles += 1
|
||||
# we sync all articles: articles we didn't get from the server were purged
|
||||
else:
|
||||
article.delete()
|
||||
removed_articles += 1
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue