1
0
Fork 0
mirror of https://codeberg.org/Reuh/feather.git synced 2025-10-27 18:19:32 +00:00

Compare commits

..

2 commits

3 changed files with 17 additions and 11 deletions

View file

@ -1,6 +1,6 @@
[project] [project]
name = "feather" name = "feather"
version = "1.1.0" version = "1.1.1"
authors = [ { name = 'Étienne "Reuh" Fildadut' } ] authors = [ { name = 'Étienne "Reuh" Fildadut' } ]
description = "file-based RSS reader client" description = "file-based RSS reader client"
readme = "README.md" readme = "README.md"

View file

@ -160,18 +160,24 @@ class FeatherApp:
article.write() article.write()
updated_articles += 1 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 removed_articles = 0
article_cutoff_timestamp = ( article_cutoff_timestamp = (
datetime.now().timestamp() - config.keep_read_articles_for datetime.now().timestamp() - config.keep_read_articles_for
) )
for article in self.iter_articles(): for article in self.iter_articles():
if ( if article.id not in grabbed_article_paths:
# we sync all articles: remove all articles that aren't on the server # we only sync unread: articles we didn't get from the server were read or purged
not config.only_sync_unread_articles if config.only_sync_unread_articles:
# we only sync unread: only remove articles that are too old if article.last_write < article_cutoff_timestamp:
or article.last_write < article_cutoff_timestamp article.delete()
) and article.id not in grabbed_article_paths: 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() article.delete()
removed_articles += 1 removed_articles += 1

2
uv.lock generated
View file

@ -69,7 +69,7 @@ wheels = [
[[package]] [[package]]
name = "feather" name = "feather"
version = "1.1.0" version = "1.1.1"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "google-reader" }, { name = "google-reader" },