Fixed HDD checkbox logic

This commit is contained in:
2Shirt 2020-01-17 16:14:29 -07:00
parent fa96f6ea13
commit 5fbd33e845
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
2 changed files with 18 additions and 16 deletions

View file

@ -1683,6 +1683,7 @@ def get_working_dir(
def main(): def main():
# pylint: disable=too-many-branches
"""Main function for ddrescue TUI.""" """Main function for ddrescue TUI."""
args = docopt(DOCSTRING) args = docopt(DOCSTRING)
log.update_log_path(dest_name='ddrescue-TUI', timestamp=True) log.update_log_path(dest_name='ddrescue-TUI', timestamp=True)

View file

@ -1400,23 +1400,24 @@ def ost_update_checkboxes(state):
elif state.cpu.all_tests_passed(): elif state.cpu.all_tests_passed():
state.ost.set_flag_passed('CPU') state.ost.set_flag_passed('CPU')
# Disk pass/fail (only if all disk tests were selected) # Check results for all disks
if all(disk_tests_enabled) and len(disk_tests_enabled) == NUM_DISK_TESTS: all_disks_passed = True
all_disks_passed = True for disk in state.disks:
if disk.any_test_failed():
# Mark failed disk in osTicket and stop checking results
all_disks_passed = False
state.ost.set_flag_failed('Disk')
break
if not disk.all_tests_passed():
all_disks_passed = False
break
# Check results for all disks # All disks passed
for disk in state.disks: if (all_disks_passed
if disk.any_test_failed(): and all(disk_tests_enabled)
all_disks_passed = False and len(disk_tests_enabled) == NUM_DISK_TESTS):
state.ost.set_flag_failed('Disk') # Only mark as passed if a full disk diagnostic passed
break state.ost.set_flag_passed('Disk')
if not disk.all_tests_passed():
all_disks_passed = False
break
# All disks passed
if all_disks_passed:
state.ost.set_flag_passed('Disk')
def print_countdown(proc, seconds): def print_countdown(proc, seconds):