Adjusted partition info display

This commit is contained in:
Alan Mason 2017-12-01 17:13:20 -08:00
parent 541660484b
commit ffa2abb2b4
4 changed files with 46 additions and 40 deletions

View file

@ -45,7 +45,7 @@ def prep_disk_for_backup(destination, disk, ticket_number):
# Prep partitions # Prep partitions
for par in disk['Partitions']: for par in disk['Partitions']:
display = 'Partition {num:>{width}}:\t{size} {fs}'.format( display = '{size} {fs}'.format(
num = par['Number'], num = par['Number'],
width = width, width = width,
size = par['Size'], size = par['Size'],
@ -53,14 +53,12 @@ def prep_disk_for_backup(destination, disk, ticket_number):
if par['Number'] in disk['Bad Partitions']: if par['Number'] in disk['Bad Partitions']:
# Set display string using partition description & OS type # Set display string using partition description & OS type
display = ' * {display}\t\t{q}{name}{q}\t{desc} ({os})'.format( display = '* {display}\t\t{q}{name}{q}\t{desc} ({os})'.format(
display = display, display = display,
q = '"' if par['Name'] != '' else '', q = '"' if par['Name'] != '' else '',
name = par['Name'], name = par['Name'],
desc = par['Description'], desc = par['Description'],
os = par['OS']) os = par['OS'])
display = '{YELLOW}{display}{CLEAR}'.format(
display=display, **COLORS)
else: else:
# Update info for WIM capturing # Update info for WIM capturing
par['Image Name'] = par['Name'] if par['Name'] else 'Unknown' par['Image Name'] = par['Name'] if par['Name'] else 'Unknown'
@ -78,16 +76,15 @@ def prep_disk_for_backup(destination, disk, ticket_number):
par['Image Exists'] = os.path.exists(par['Image Path']) par['Image Exists'] = os.path.exists(par['Image Path'])
if par['Image Exists']: if par['Image Exists']:
disk['Clobber Risk'].append(par['Number']) disk['Clobber Risk'].append(par['Number'])
display = '{} + {}'.format(COLORS['BLUE'], display) display = '+ {}'.format(display)
else: else:
display = '{} {}'.format(COLORS['CLEAR'], display) display = ' {}'.format(display)
# Append rest of Display String for valid/clobber partitions # Append rest of Display String for valid/clobber partitions
display += ' (Used: {used})\t{q}{name}{q}{CLEAR}'.format( display += ' (Used: {used})\t{q}{name}{q}'.format(
used = par['Used Space'], used = par['Used Space'],
q = '"' if par['Name'] != '' else '', q = '"' if par['Name'] != '' else '',
name = par['Name'], name = par['Name'])
**COLORS)
# For all partitions # For all partitions
par['Display String'] = display par['Display String'] = display

View file

@ -372,18 +372,23 @@ def set_title(title='~Some Title~'):
global_vars['Title'] = title global_vars['Title'] = title
os.system('title {}'.format(title)) os.system('title {}'.format(title))
def show_info(message='~Some message~', info='~Some info~', indent=8, width=32, def show_data(message='~Some message~', data='~Some data~', indent=8, width=32,
warning=False, error=False): info=False, warning=False, error=False):
"""Display info with formatting.""" """Display info with formatting."""
message = '{indent}{message:<{width}}{info}'.format( message = '{indent}{message:<{width}}{data}'.format(
indent=' '*indent, width=width, message=message, info=info) indent=' '*indent, width=width, message=message, data=data)
if error: if error:
print_error(message) print_error(message)
elif warning: elif warning:
print_warning(message) print_warning(message)
elif info:
print_info(message)
else: else:
print_standard(message) print_standard(message)
def show_info(message='~Some message~', info='~Some info~', indent=8, width=32):
show_data(message=message, data=info, indent=indent, width=width)
def sleep(seconds=2): def sleep(seconds=2):
"""Wait for a while.""" """Wait for a while."""
time.sleep(seconds) time.sleep(seconds)

View file

@ -111,8 +111,8 @@ def get_partition_details(disk, partition):
guid = partition_uids.lookup_guid(details['Type']) guid = partition_uids.lookup_guid(details['Type'])
if guid: if guid:
details.update({ details.update({
'Description': guid.get('Description', ''), 'Description': guid.get('Description', '')[:29],
'OS': guid.get('OS', '')}) 'OS': guid.get('OS', '')[:26]})
if 'Letter' in details: if 'Letter' in details:
# Disk usage # Disk usage

View file

@ -111,17 +111,24 @@ def menu_backup():
# Display details for backup task # Display details for backup task
clear_screen() clear_screen()
print_info('Create Backup - Details:\n') print_info('Create Backup - Details:\n')
show_info(message='Ticket:', info=ticket_number) show_data(message='Ticket:', data=ticket_number)
show_info( show_data(
message = 'Source:', message = 'Source:',
info = '[{Table}] ({Type}) {Name} {Size}'.format(**disk), data = '[{Table}] ({Type}) {Name} {Size}'.format(**disk),
) )
show_info( show_data(
message = 'Destination:', message = 'Destination:',
info = destination.get('Display Name', destination['Name']), data = destination.get('Display Name', destination['Name']),
) )
for par in disk['Partitions']: for par in disk['Partitions']:
show_info(message='', info=par['Display String'], width=20) message = 'Partition {}:'.format(par['Number'])
data = par['Display String']
if par['Number'] in disk['Bad Partitions']:
show_data(message=message, data=data, width=30, warning=True)
elif par['Image Exists']:
show_data(message=message, data=data, width=30, info=True)
else:
show_data(message=message, data=data, width=30)
print_standard(disk['Backup Warnings']) print_standard(disk['Backup Warnings'])
# Ask to proceed # Ask to proceed
@ -167,17 +174,14 @@ def menu_backup():
except: except:
# Deal with badly formatted error message # Deal with badly formatted error message
pass pass
if isinstance(par['Error'], basestring): try:
print_error('\t{}'.format(par['Error'])) par['Error'] = par['Error'].splitlines()
else: par['Error'] = [line.strip() for line in par['Error']]
try: par['Error'] = [line for line in par['Error'] if line]
par['Error'] = par['Error'].splitlines()
par['Error'] = [line.strip() for line in par['Error']]
par['Error'] = [line for line in par['Error'] if line]
except:
pass
for line in par['Error']: for line in par['Error']:
print_error('\t{}'.format(line)) print_error('\t{}'.format(line))
except:
print_error('\t{}'.format(par['Error']))
else: else:
print_success('\nNo errors were encountered during imaging.') print_success('\nNo errors were encountered during imaging.')
if 'LogFile' in global_vars: if 'LogFile' in global_vars:
@ -279,20 +283,20 @@ def menu_setup():
# Display details for setup task # Display details for setup task
clear_screen() clear_screen()
print_info('Setup Windows - Details:\n') print_info('Setup Windows - Details:\n')
show_info(message='Ticket:', info=ticket_number) show_data(message='Ticket:', data=ticket_number)
show_info(message='Installing:', info=windows_version['Name']) show_data(message='Installing:', data=windows_version['Name'])
show_info( show_data(
message = 'Boot Method:', message = 'Boot Method:',
info = 'UEFI (GPT)' if dest_disk['Use GPT'] else 'Legacy (MBR)') data = 'UEFI (GPT)' if dest_disk['Use GPT'] else 'Legacy (MBR)')
show_info(message='Using Image:', info=windows_image['Path']) show_data(message='Using Image:', data=windows_image['Path'])
show_info( show_data(
message = 'ERASING:', message = 'ERASING:',
info = '[{Table}] ({Type}) {Name} {Size}\n'.format(**dest_disk), data = '[{Table}] ({Type}) {Name} {Size}\n'.format(**dest_disk),
warning = True) warning = True)
for par in dest_disk['Partitions']: for par in dest_disk['Partitions']:
show_info( show_data(
message = 'Partition {:>2}:'.format(par['Number']), message = 'Partition {}:'.format(par['Number']),
info = par['Display String'], data = par['Display String'],
warning = True) warning = True)
print_warning(dest_disk['Format Warnings']) print_warning(dest_disk['Format Warnings'])