Initial wk-ddrescue menu

This commit is contained in:
2Shirt 2018-07-14 21:19:08 -06:00
parent d57b08ec6f
commit 8b1e19fa4b
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
2 changed files with 90 additions and 0 deletions

View file

@ -0,0 +1,58 @@
# Wizard Kit: Functions - ddrescue
import json
import re
from functions.common import *
# STATIC VARIABLES
USAGE=""" {script_name} clone [source [destination]]
{script_name} image [source [destination]]
(e.g. {script_name} clone /dev/sda /dev/sdb)
"""
# Functions
def menu_clone(source_path, dest_path):
print_success('GNU ddrescue: Cloning Menu')
pass
def menu_ddrescue(*args):
"""Main ddrescue loop/menu."""
args = list(args)
script_name = os.path.basename(args.pop(0))
run_mode = ''
source_path = None
dest_path = None
# Parse args
try:
run_mode = args.pop(0)
source_path = args.pop(0)
dest_path = args.pop(0)
except IndexError:
# We'll set the missing paths later
pass
# Show proper menu or exit
if run_mode == 'clone':
menu_clone(source_path, dest_path)
elif run_mode == 'image':
menu_image(source_path, dest_path)
else:
if not re.search(r'(^$|help|-h|\?)', run_mode, re.IGNORECASE):
print_error('Invalid mode.')
show_usage(script_name)
exit_script()
def menu_image(source_path, dest_path):
print_success('GNU ddrescue: Imaging Menu')
pass
def show_usage(script_name):
print_info('Usage:')
print_standard(USAGE.format(script_name=script_name))
if __name__ == '__main__':
print("This file is not meant to be called directly.")
# vim: sts=4 sw=4 ts=4

32
.bin/Scripts/wk-ddrescue Executable file
View file

@ -0,0 +1,32 @@
#!/bin/python3
#
## Wizard Kit: TUI for ddrescue cloning and imaging
import os
import sys
# Init
os.chdir(os.path.dirname(os.path.realpath(__file__)))
sys.path.append(os.getcwd())
from functions.ddrescue import *
from functions.hw_diags import *
init_global_vars()
if __name__ == '__main__':
try:
# Prep
clear_screen()
# Show menu
menu_ddrescue(*sys.argv)
# Done
#print_standard('\nDone.')
#pause("Press Enter to exit...")
exit_script()
except SystemExit:
pass
except:
major_exception()
# vim: sts=4 sw=4 ts=4