WizardKit/.bin/Scripts/dism.py
Alan Mason 41d6cfc209 2017-08: Retroactive Updates
* Bugfixes
  * Windows 10 v1703 / Redstone 2 / Creator's Update now recognized (attempt #2)
2017-11-17 00:57:07 -07:00

52 lines
1.7 KiB
Python

# Wizard Kit: DISM wrapper
import os
import sys
# Init
os.chdir(os.path.dirname(os.path.realpath(__file__)))
os.system('title Wizard Kit: DISM helper Tool')
sys.path.append(os.getcwd())
from functions import *
init_global_vars()
global_vars['LogFile'] = '{LogDir}\\DISM helper tool.log'.format(**global_vars)
def abort():
print_warning('Aborted.')
exit_script()
if __name__ == '__main__':
try:
stay_awake()
other_results = {
'Error': {
'CalledProcessError': 'Unknown Error',
},
'Warning': {
'GenericRepair': 'Repaired',
'UnsupportedOSError': 'Unsupported OS',
}}
options = [
{'Name': 'Check Health', 'Command': 'Check'},
{'Name': 'Restore Health', 'Command': 'Restore'}]
actions = [{'Name': 'Quit', 'Letter': 'Q'}]
selection = menu_select('Please select action to perform', options, actions)
os.system('cls')
print_info('DISM helper tool')
if selection == 'Q':
abort()
elif options[int(selection)-1]['Command'] == 'Check':
try_and_print(message='DISM ScanHealth...', function=run_dism_scan_health, cs='No corruption', ns='Corruption detected', other_results=other_results)
elif options[int(selection)-1]['Command'] == 'Restore':
try_and_print(message='DISM RestoreHealth...', function=run_dism_restore_health, cs='No corruption', ns='Corruption detected', other_results=other_results)
else:
abort()
# Done
print_success('Done.')
pause("Press Enter to exit...")
exit_script()
except SystemExit:
pass
except:
major_exception()