Updated user_data_transfer sections
This commit is contained in:
parent
bec947262b
commit
db09236b26
2 changed files with 33 additions and 22 deletions
|
|
@ -534,21 +534,21 @@ def select_destination(folder_path, prompt='Select destination'):
|
||||||
|
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def select_source(ticket_number):
|
def select_source(backup_prefix):
|
||||||
"""Select backup from those found on the BACKUP_SERVERS for the ticket."""
|
"""Select backup from those found on the BACKUP_SERVERS matching the prefix."""
|
||||||
selected_source = None
|
selected_source = None
|
||||||
local_sources = []
|
local_sources = []
|
||||||
remote_sources = []
|
remote_sources = []
|
||||||
sources = []
|
sources = []
|
||||||
mount_backup_shares(read_write=False)
|
mount_backup_shares(read_write=False)
|
||||||
|
|
||||||
# Check for ticket folders on servers
|
# Check for prefix folders on servers
|
||||||
for server in BACKUP_SERVERS:
|
for server in BACKUP_SERVERS:
|
||||||
if server['Mounted']:
|
if server['Mounted']:
|
||||||
print_standard('Scanning {}...'.format(server['Name']))
|
print_standard('Scanning {}...'.format(server['Name']))
|
||||||
for d in os.scandir(r'\\{IP}\{Share}'.format(**server)):
|
for d in os.scandir(r'\\{IP}\{Share}'.format(**server)):
|
||||||
if (d.is_dir()
|
if (d.is_dir()
|
||||||
and d.name.lower().startswith(ticket_number.lower())):
|
and d.name.lower().startswith(backup_prefix.lower())):
|
||||||
# Add folder to remote_sources
|
# Add folder to remote_sources
|
||||||
remote_sources.append({
|
remote_sources.append({
|
||||||
'Name': '{:9}| File-Based: [DIR] {}'.format(
|
'Name': '{:9}| File-Based: [DIR] {}'.format(
|
||||||
|
|
@ -558,19 +558,19 @@ def select_source(ticket_number):
|
||||||
'Source': d})
|
'Source': d})
|
||||||
|
|
||||||
# Check for images and subfolders
|
# Check for images and subfolders
|
||||||
for ticket_path in remote_sources.copy():
|
for prefix_path in remote_sources.copy():
|
||||||
for item in os.scandir(ticket_path['Source'].path):
|
for item in os.scandir(prefix_path['Source'].path):
|
||||||
if item.is_dir():
|
if item.is_dir():
|
||||||
# Add folder to remote_sources
|
# Add folder to remote_sources
|
||||||
remote_sources.append({
|
remote_sources.append({
|
||||||
'Name': r'{:9}| File-Based: [DIR] {}\{}'.format(
|
'Name': r'{:9}| File-Based: [DIR] {}\{}'.format(
|
||||||
ticket_path['Server']['Name'], # Server
|
prefix_path['Server']['Name'], # Server
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Sub-folder
|
item.name, # Sub-folder
|
||||||
),
|
),
|
||||||
'Server': ticket_path['Server'],
|
'Server': prefix_path['Server'],
|
||||||
'Sort': r'{}\{}'.format(
|
'Sort': r'{}\{}'.format(
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Sub-folder
|
item.name, # Sub-folder
|
||||||
),
|
),
|
||||||
'Source': item})
|
'Source': item})
|
||||||
|
|
@ -586,15 +586,15 @@ def select_source(ticket_number):
|
||||||
remote_sources.append({
|
remote_sources.append({
|
||||||
'Disabled': bool(not is_valid_wim_file(subitem)),
|
'Disabled': bool(not is_valid_wim_file(subitem)),
|
||||||
'Name': r'{:9}| Image-Based: {:>7} {}\{}\{}'.format(
|
'Name': r'{:9}| Image-Based: {:>7} {}\{}\{}'.format(
|
||||||
ticket_path['Server']['Name'], # Server
|
prefix_path['Server']['Name'], # Server
|
||||||
size, # Size (duh)
|
size, # Size (duh)
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Sub-folder
|
item.name, # Sub-folder
|
||||||
subitem.name, # Image file
|
subitem.name, # Image file
|
||||||
),
|
),
|
||||||
'Server': ticket_path['Server'],
|
'Server': prefix_path['Server'],
|
||||||
'Sort': r'{}\{}\{}'.format(
|
'Sort': r'{}\{}\{}'.format(
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Sub-folder
|
item.name, # Sub-folder
|
||||||
subitem.name, # Image file
|
subitem.name, # Image file
|
||||||
),
|
),
|
||||||
|
|
@ -608,14 +608,14 @@ def select_source(ticket_number):
|
||||||
remote_sources.append({
|
remote_sources.append({
|
||||||
'Disabled': bool(not is_valid_wim_file(item)),
|
'Disabled': bool(not is_valid_wim_file(item)),
|
||||||
'Name': r'{:9}| Image-Based: {:>7} {}\{}'.format(
|
'Name': r'{:9}| Image-Based: {:>7} {}\{}'.format(
|
||||||
ticket_path['Server']['Name'], # Server
|
prefix_path['Server']['Name'], # Server
|
||||||
size, # Size (duh)
|
size, # Size (duh)
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Image file
|
item.name, # Image file
|
||||||
),
|
),
|
||||||
'Server': ticket_path['Server'],
|
'Server': prefix_path['Server'],
|
||||||
'Sort': r'{}\{}'.format(
|
'Sort': r'{}\{}'.format(
|
||||||
ticket_path['Source'].name, # Ticket folder
|
prefix_path['Source'].name, # Prefix folder
|
||||||
item.name, # Image file
|
item.name, # Image file
|
||||||
),
|
),
|
||||||
'Source': item})
|
'Source': item})
|
||||||
|
|
@ -682,8 +682,8 @@ def select_source(ticket_number):
|
||||||
else:
|
else:
|
||||||
selected_source = sources[int(selection)-1]['Source']
|
selected_source = sources[int(selection)-1]['Source']
|
||||||
else:
|
else:
|
||||||
print_error('ERROR: No backups found for ticket: {}.'.format(
|
print_error('ERROR: No backups found using prefix: {}.'.format(
|
||||||
ticket_number))
|
backup_prefix))
|
||||||
umount_backup_shares()
|
umount_backup_shares()
|
||||||
pause("Press Enter to exit...")
|
pause("Press Enter to exit...")
|
||||||
exit_script()
|
exit_script()
|
||||||
|
|
|
||||||
|
|
@ -18,17 +18,28 @@ if __name__ == '__main__':
|
||||||
stay_awake()
|
stay_awake()
|
||||||
clear_screen()
|
clear_screen()
|
||||||
print_info('{}: User Data Transfer Tool\n'.format(KIT_NAME_FULL))
|
print_info('{}: User Data Transfer Tool\n'.format(KIT_NAME_FULL))
|
||||||
|
|
||||||
|
# Get backup name prefix
|
||||||
ticket_number = get_ticket_number()
|
ticket_number = get_ticket_number()
|
||||||
|
if ENABLED_TICKET_NUMBERS:
|
||||||
|
backup_prefix = ticket_number
|
||||||
|
else:
|
||||||
|
backup_prefix = get_simple_string(prompt='Enter backup name prefix')
|
||||||
|
|
||||||
|
# Set destination
|
||||||
folder_path = r'{}\Transfer'.format(KIT_NAME_SHORT)
|
folder_path = r'{}\Transfer'.format(KIT_NAME_SHORT)
|
||||||
dest = select_destination(folder_path=folder_path,
|
dest = select_destination(folder_path=folder_path,
|
||||||
prompt='Which disk are we transferring to?')
|
prompt='Which disk are we transferring to?')
|
||||||
source = select_source(ticket_number)
|
|
||||||
|
# Set source items
|
||||||
|
source = select_source(backup_prefix)
|
||||||
items = scan_source(source, dest)
|
items = scan_source(source, dest)
|
||||||
|
|
||||||
# Transfer
|
# Transfer
|
||||||
clear_screen()
|
clear_screen()
|
||||||
print_info('Transfer Details:\n')
|
print_info('Transfer Details:\n')
|
||||||
show_data('Ticket:', ticket_number)
|
if ENABLED_TICKET_NUMBERS:
|
||||||
|
show_data('Ticket:', ticket_number)
|
||||||
show_data('Source:', source.path)
|
show_data('Source:', source.path)
|
||||||
show_data('Destination:', dest)
|
show_data('Destination:', dest)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue