Added generate_report()

* Addresses issue #62
This commit is contained in:
2Shirt 2019-05-17 14:54:06 -06:00
parent f2adf6f5c0
commit 7b3fd34e63
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -451,6 +451,51 @@ class RecoveryState():
tmux_resize_pane(y=ratio[1])
tmux_resize_pane(self.panes['Journal'], y=ratio[2])
def generate_report(self):
"""Generate report for osTicket post, returns list."""
report = ['']
test_station = TEST_STATIONS.get(get_hostname().lower(), '')
# Header
if test_station:
report[0] += '[Test-Station: {}] '.format(test_station)
report[0] += '[Report for ticket #{} {}]'.format(
self.ticket_id, self.ticket_name)
report.append('ddrescue-tui {} results'.format(self.mode))
# Source/Dest
report.append(' ')
report.append('Source: {}'.format(self.source.name))
report.append('Destination: {}'.format(self.dest.name))
# Overall
try:
percent = (self.rescued / self.total_size) * 100
except ZeroDivisionError:
percent = 0
report.append(' ')
report.append('Overall rescued: {:0.2f}% error size: {}'.format(
percent,
human_readable_size(self.total_size-self.rescued, decimals=2),
))
# Block-Pairs
if len(self.block_pairs) > 1:
report.append(' ')
for b_pair in self.block_pairs:
try:
percent = (b_pair.rescued / b_pair.size) * 100
except ZeroDivisionError:
percent = 0
report.append('{} rescued: {:0.2f}% error size: {}'.format(
b_pair.source.path,
percent,
human_readable_size(b_pair.size-b_pair.rescued, decimals=2),
))
# Done
return report
def get_smart_source(self):
"""Get source for SMART dispay."""
disk_path = self.source.path
@ -863,6 +908,11 @@ def menu_ddrescue(source_path, dest_path, run_mode):
state.fix_tmux_panes(forced=True)
menu_main(state)
# Post results
if ask('Post results to osTicket?'):
# TODO
pass
# Done
run_program(['tmux', 'kill-window'])
exit_script()