retronews

a featureful fork of the luke8086/retronews hn+lobste.rs tui
Log | Files | Refs | README | LICENSE

commit a39afd13653372a113df248935b8bfaaedfa1cc5
parent 9dea81e913883d3360dc0e19d03a4cb19c4aa54d
Author: luke8086 <55237178+luke8086@users.noreply.github.com>
Date:   Fri, 29 Jul 2022 21:54:01 +0000

Update active group only when threads are successfully loaded

Diffstat:
Mretronews.py | 24++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/retronews.py b/retronews.py @@ -368,18 +368,15 @@ def cmd_load_tab(app: AppState, tab: int) -> None: def cmd_load_group(app: AppState, group: Group) -> None: - app.group = group - app_fetch_threads(app) + app_load_group(app, group) def cmd_load_prev_page(app: AppState) -> None: - app.group = group_advance_page(app.group, -1) - app_fetch_threads(app) + app_load_group(app, group_advance_page(app.group, -1)) def cmd_load_next_page(app: AppState) -> None: - app.group = group_advance_page(app.group, 1) - app_fetch_threads(app) + app_load_group(app, group_advance_page(app.group, 1)) def cmd_open(app: AppState) -> None: @@ -567,12 +564,15 @@ def app_load_messages( app_select_message(app, selected_message, show_pager) -def app_fetch_threads(app: AppState) -> None: - fn = partial(group_search_threads, app.group, app.db) - flash = f"Fetching stories from '{app.group.label}' (page {app.group.page})..." +def app_load_group(app: AppState, group: Group) -> None: + fn = partial(group_search_threads, group, db) + flash = f"Fetching stories from '{group.label}' (page {group.page})..." + + if (messages := app_safe_run(app, fn, flash=flash)) is None: + return - if (messages := app_safe_run(app, fn, flash=flash)) is not None: - app_load_messages(app, messages) + app_load_messages(app, messages) + app.group = group def app_close_thread(app: AppState) -> None: @@ -788,7 +788,7 @@ def app_init(screen: "curses._CursesWindow", db: sqlite3.Connection) -> AppState group = GROUP_TABS[0] app = AppState(screen=screen, colors=Colors(), db=db, group=group) - app_fetch_threads(app) + app_load_group(app, app.group) return app