From 9d3508909a8d74348599ca60d81e1481b31fece6 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Thu, 8 Apr 2021 23:40:00 -0600 Subject: [PATCH] Add DRIVE_POWEROFF_TIMEOUT to wk.cfg.ddrescue This replaces a magic number --- scripts/wk/cfg/ddrescue.py | 1 + scripts/wk/hw/ddrescue.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/wk/cfg/ddrescue.py b/scripts/wk/cfg/ddrescue.py index 15146c5f..738a1c8c 100644 --- a/scripts/wk/cfg/ddrescue.py +++ b/scripts/wk/cfg/ddrescue.py @@ -49,6 +49,7 @@ DDRESCUE_SETTINGS = { '--timeout': {'Selected': False, 'Value': '30m', }, }, } +DRIVE_POWEROFF_TIMEOUT = 90 PARTITION_TYPES = { 'GPT': { 'NTFS': 'EBD0A0A2-B9E5-4433-87C0-68B6B72699C7', # Basic Data Partition diff --git a/scripts/wk/hw/ddrescue.py b/scripts/wk/hw/ddrescue.py index 91f01f2c..251aafd5 100644 --- a/scripts/wk/hw/ddrescue.py +++ b/scripts/wk/hw/ddrescue.py @@ -1918,7 +1918,7 @@ def run_ddrescue(state, block_pair, pass_name, settings, dry_run=True): std.clear_screen() warning_message = '' - def _poweroff_source_drive(idle_minutes=120): + def _poweroff_source_drive(idle_minutes): """Power off source drive after a while.""" source_dev = state.source.path.name @@ -2022,7 +2022,10 @@ def run_ddrescue(state, block_pair, pass_name, settings, dry_run=True): # Check result if proc.poll(): # True if return code is non-zero (poll() returns None if still running) - poweroff_thread = exe.start_thread(_poweroff_source_drive) + poweroff_thread = exe.start_thread( + _poweroff_source_drive, + cfg.ddrescue.DRIVE_POWEROFF_TIMEOUT, + ) warning_message = 'Error(s) encountered, see message above' state.update_top_panes() if warning_message: