Skip the main menu when resuming to Auto Repairs

Fixes issue #205
This commit is contained in:
2Shirt 2022-12-15 20:03:05 -08:00
parent 137c3ec5e5
commit 0ce8169e6b
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -251,7 +251,7 @@ def get_entry_settings(group, name):
return settings return settings
def init(menus): def init(menus, presets):
"""Initialize Auto Repairs.""" """Initialize Auto Repairs."""
session_started = is_session_started() session_started = is_session_started()
@ -263,17 +263,18 @@ def init(menus):
reg_set_value('HKCU', AUTO_REPAIR_KEY, 'Use Autologon', 0, 'DWORD') reg_set_value('HKCU', AUTO_REPAIR_KEY, 'Use Autologon', 0, 'DWORD')
save_selection_settings(menus) save_selection_settings(menus)
# Start or resume a repair session # Start new session
if session_started: if not session_started:
load_settings(menus) load_preset(menus, presets, enable_menu_exit=False)
print_info('Resuming session, press CTRL+c to cancel') return
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('')
# Done # Resume session
return 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('')
def init_run(options): def init_run(options):
@ -407,18 +408,18 @@ def run_auto_repairs(base_menus, presets):
print_standard('Initializing...') print_standard('Initializing...')
menus = build_menus(base_menus, title, presets) menus = build_menus(base_menus, title, presets)
# Get repair preset
load_preset(menus, presets, enable_menu_exit=False)
# Init # Init
session_started = False
show_menu_again = False
try: try:
session_started = init(menus) init(menus, presets)
except KeyboardInterrupt: except KeyboardInterrupt:
# Assuming session was started and resume countdown was interrupted # Assuming session was started and resume countdown was interrupted
session_started = None show_menu_again = True
session_started = is_session_started()
# Show Menu # Show Menu
if session_started is None or not session_started: if show_menu_again or not session_started:
try: try:
show_main_menu(base_menus, menus, presets, title) show_main_menu(base_menus, menus, presets, title)
except SystemExit: except SystemExit:
@ -426,10 +427,6 @@ def run_auto_repairs(base_menus, presets):
end_session() end_session()
raise raise
# Re-check if a repair session was started
if session_started is None:
session_started = is_session_started()
# Start or resume repairs # Start or resume repairs
clear_screen() clear_screen()
print_standard(title) print_standard(title)