From 0ce8169e6bb8082cfc0e37dc44fd50dcb087ca9b Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Thu, 15 Dec 2022 20:03:05 -0800 Subject: [PATCH] Skip the main menu when resuming to Auto Repairs Fixes issue #205 --- scripts/wk/repairs/win.py | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/scripts/wk/repairs/win.py b/scripts/wk/repairs/win.py index 4c090b06..2929e528 100644 --- a/scripts/wk/repairs/win.py +++ b/scripts/wk/repairs/win.py @@ -251,7 +251,7 @@ def get_entry_settings(group, name): return settings -def init(menus): +def init(menus, presets): """Initialize Auto Repairs.""" session_started = is_session_started() @@ -263,17 +263,18 @@ def init(menus): reg_set_value('HKCU', AUTO_REPAIR_KEY, 'Use Autologon', 0, 'DWORD') save_selection_settings(menus) - # Start or resume a repair session - if session_started: - load_settings(menus) - print_info('Resuming session, press CTRL+c to cancel') - for _x in range(AUTO_REPAIR_DELAY_IN_SECONDS, 0, -1): - print(f' {_x} second{"" if _x==1 else "s"} remaining... \r', end='') - sleep(1) - print('') + # Start new session + if not session_started: + load_preset(menus, presets, enable_menu_exit=False) + return - # Done - return session_started + # Resume session + load_settings(menus) + print_info('Resuming session, press CTRL+c to cancel') + for _x in range(AUTO_REPAIR_DELAY_IN_SECONDS, 0, -1): + print(f' {_x} second{"" if _x==1 else "s"} remaining... \r', end='') + sleep(1) + print('') def init_run(options): @@ -407,18 +408,18 @@ def run_auto_repairs(base_menus, presets): print_standard('Initializing...') menus = build_menus(base_menus, title, presets) - # Get repair preset - load_preset(menus, presets, enable_menu_exit=False) - # Init + session_started = False + show_menu_again = False try: - session_started = init(menus) + init(menus, presets) except KeyboardInterrupt: # Assuming session was started and resume countdown was interrupted - session_started = None + show_menu_again = True + session_started = is_session_started() # Show Menu - if session_started is None or not session_started: + if show_menu_again or not session_started: try: show_main_menu(base_menus, menus, presets, title) except SystemExit: @@ -426,10 +427,6 @@ def run_auto_repairs(base_menus, presets): end_session() raise - # Re-check if a repair session was started - if session_started is None: - session_started = is_session_started() - # Start or resume repairs clear_screen() print_standard(title)