diff --git a/scripts/wk/hw/ddrescue.py b/scripts/wk/hw/ddrescue.py index f314f987..476b61be 100644 --- a/scripts/wk/hw/ddrescue.py +++ b/scripts/wk/hw/ddrescue.py @@ -702,6 +702,8 @@ class State(): self.mode, self.destination, force_local=docopt_args['--force-local-map'], + ticket_id=self.ost.ticket_id, + ticket_name=self.ost.ticket_name, ) # Start fresh if requested @@ -1619,9 +1621,9 @@ def get_table_type(disk): return table_type -def get_working_dir(mode, destination, force_local=False): +def get_working_dir( + mode, destination, force_local=False, ticket_id=None, ticket_name=None): """Get working directory using mode and destination, returns path.""" - ticket_id = None working_dir = None # Set ticket ID @@ -1662,6 +1664,12 @@ def get_working_dir(mode, destination, force_local=False): if mode == 'Clone': working_dir = working_dir.joinpath(ticket_id) + # Append ticket name if set + if ticket_name: + working_dir = working_dir.with_name( + f'{ticket_id}_{ticket_name.replace(" ", "-")}', + ) + # Create directory working_dir.mkdir(parents=True, exist_ok=True) os.chdir(working_dir) @@ -1686,6 +1694,8 @@ def main(): main_menu = build_main_menu() settings_menu = build_settings_menu() state = State() + if not args['--force-local-map']: + state.ost.select_ticket() try: state.init_recovery(args) except std.GenericAbort: