Skip to content

Commit

Permalink
Don't download entries when adding new group to speed up web ui
Browse files Browse the repository at this point in the history
Also use 4 workers when checking for new entries
  • Loading branch information
TheLovinator1 committed Jul 16, 2023
1 parent 5a8089e commit 4b81677
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
16 changes: 10 additions & 6 deletions discord_twitter_webhooks/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from loguru import logger
from reader import Reader
from reader import InvalidFeedURLError, Reader, StorageError
from starlette import status

from discord_twitter_webhooks._dataclasses import (
Expand Down Expand Up @@ -169,10 +169,14 @@ async def feed( # noqa: PLR0913, ANN201
for _name in usernames_split:
name_url = f"{get_app_settings(reader).nitter_instance}/{_name}/rss" # TODO: Check if URL is valid
# Add the rss feed to the reader
reader.add_feed(name_url, exist_ok=True)

# Download the entries
reader.update_feeds(new=True)
try:
reader.add_feed(name_url, exist_ok=True)
except InvalidFeedURLError:
logger.error(f"Invalid URL {name_url}")
continue
except StorageError:
logger.error(f"Got StorageError when adding {name_url}")
continue

# Mark every entry as read
_entry: EntryLike
Expand Down Expand Up @@ -256,7 +260,7 @@ async def mark_as_unread(uuid: str): # noqa: ANN201, C901
logger.info(f"Feed is {_feed}")

# Update the feed
reader.update_feeds(feed=_feed)
reader.update_feeds(feed=_feed, workers=4)

# Get the entries
entries = reader.get_entries(feed=_feed)
Expand Down
2 changes: 1 addition & 1 deletion discord_twitter_webhooks/send_to_discord.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ def send_to_discord(reader: Reader) -> None: # noqa: C901
Args:
reader: The reader which contains the entries.
"""
reader.update_feeds()
reader.update_feeds(workers=4)

# Loop through the unread (unsent) entries.
entries = list(reader.get_entries(read=False))
Expand Down

0 comments on commit 4b81677

Please sign in to comment.