From 4550b135655232ba34c63eb4da5dbf3a55aa5548 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Fri, 18 Feb 2022 17:03:29 -0700 Subject: [PATCH] Add osTicket pane to ddrescue-tui Addresses issue #10 --- scripts/wk/cfg/ddrescue.py | 1 + scripts/wk/hw/ddrescue.py | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/scripts/wk/cfg/ddrescue.py b/scripts/wk/cfg/ddrescue.py index 738a1c8c..144075ba 100644 --- a/scripts/wk/cfg/ddrescue.py +++ b/scripts/wk/cfg/ddrescue.py @@ -9,6 +9,7 @@ from collections import OrderedDict TMUX_SIDE_WIDTH = 21 TMUX_LAYOUT = OrderedDict({ 'Source': {'height': 2, 'Check': True}, + 'Ticket': {'height': 2, 'Check': True}, 'Started': {'width': TMUX_SIDE_WIDTH, 'Check': True}, 'Progress': {'width': TMUX_SIDE_WIDTH, 'Check': True}, }) diff --git a/scripts/wk/hw/ddrescue.py b/scripts/wk/hw/ddrescue.py index 3423cd1c..bf1739ba 100644 --- a/scripts/wk/hw/ddrescue.py +++ b/scripts/wk/hw/ddrescue.py @@ -697,6 +697,12 @@ class State(): std.print_error("I'm sorry but image mode is currently broken...") std.abort() + # Progress pane + self.panes['Progress'] = tmux.split_window( + lines=cfg.ddrescue.TMUX_SIDE_WIDTH, + watch_file=f'{self.log_dir}/progress.out', + ) + # Select source self.source = get_object(docopt_args['']) if not self.source: @@ -719,10 +725,6 @@ class State(): ) # Update panes - self.panes['Progress'] = tmux.split_window( - lines=cfg.ddrescue.TMUX_SIDE_WIDTH, - watch_file=f'{self.log_dir}/progress.out', - ) self.update_progress_pane('Idle') # Set working dir @@ -1171,6 +1173,19 @@ class State(): ), ) + # Ticket Details + if self.ost and self.ost.ticket_id and not self.panes.get('Ticket', None): + self.panes['Ticket'] = tmux.split_window( + behind=True, + lines=2, + text=std.color_string( + [self.ost.ticket_name, '\n', f'Ticket #{self.ost.ticket_id}'], + ['CYAN', None, None], + sep='', + ), + vertical=True, + ) + # Functions def build_block_pair_report(block_pairs, settings):