Use broader imports for wk/hw/diags.py

This commit is contained in:
2Shirt 2019-11-10 16:22:04 -07:00
parent fe228a5edc
commit 2520126905
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
2 changed files with 26 additions and 44 deletions

View file

@ -8,7 +8,7 @@ import wk
def main(): def main():
"""Run hardware diagnostics.""" """Run hardware diagnostics."""
state = wk.hw.diags.State() state = wk.hw.diags.State()
wk.hw.diags.main_menu() wk.hw.diags.main()
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -8,26 +8,8 @@ import platform
from collections import OrderedDict from collections import OrderedDict
from docopt import docopt from docopt import docopt
from wk import exe, net, std
from wk.cfg.main import KIT_NAME_FULL from wk.cfg.main import KIT_NAME_FULL
from wk.exe import run_program
from wk.net import (
connected_to_private_network,
ping,
show_valid_addresses,
speedtest,
)
from wk.std import (
Menu,
TryAndPrint,
clear_screen,
color_string,
pause,
print_error,
print_info,
print_standard,
print_warning,
sleep,
)
# STATIC VARIABLES # STATIC VARIABLES
@ -87,27 +69,27 @@ def audio_test():
def audio_test_linux(): def audio_test_linux():
"""Run an audio test using amixer and speaker-test.""" """Run an audio test using amixer and speaker-test."""
clear_screen() std.clear_screen()
print_standard('Audio test') std.print_standard('Audio test')
print_standard('') std.print_standard('')
# Set volume # Set volume
for source in ('Master', 'PCM'): for source in ('Master', 'PCM'):
cmd = f'amixer -q set "{source}" 80% unmute'.split() cmd = f'amixer -q set "{source}" 80% unmute'.split()
run_program(cmd, check=False) exe.run_program(cmd, check=False)
# Run audio tests # Run audio tests
for mode in ('pink', 'wav'): for mode in ('pink', 'wav'):
cmd = f'speaker-test -c 2 -l 1 -t {mode}'.split() cmd = f'speaker-test -c 2 -l 1 -t {mode}'.split()
run_program(cmd, check=False, pipe=False) exe.run_program(cmd, check=False, pipe=False)
def build_menu(quick_mode=False): def build_menu(quick_mode=False):
"""Build main menu, returns wk.std.Menu.""" """Build main menu, returns wk.std.Menu."""
menu = Menu() menu = std.Menu()
# Set title # Set title
menu.title = color_string( menu.title = std.color_string(
strings=['Hardware Diagnostics', 'Main Menu'], strings=['Hardware Diagnostics', 'Main Menu'],
colors=['GREEN', None], colors=['GREEN', None],
sep='\n', sep='\n',
@ -142,12 +124,12 @@ def build_menu(quick_mode=False):
def keyboard_test(): def keyboard_test():
"""Test keyboard using xev.""" """Test keyboard using xev."""
cmd = ['xev', '-event', 'keyboard'] cmd = ['xev', '-event', 'keyboard']
clear_screen() std.clear_screen()
run_program(cmd, check=False, pipe=False) exe.run_program(cmd, check=False, pipe=False)
def main_menu(): def main():
"""Main menu for hardware diagnostics.""" """Main function for hardware diagnostics."""
args = docopt(DOCSTRING) args = docopt(DOCSTRING)
menu = build_menu(args['--quick']) menu = build_menu(args['--quick'])
@ -169,9 +151,9 @@ def main_menu():
try: try:
action() action()
except KeyboardInterrupt: except KeyboardInterrupt:
print_warning('Aborted.') std.print_warning('Aborted.')
print_standard('') std.print_standard('')
pause('Press Enter to return to main menu...') std.pause('Press Enter to return to main menu...')
# Quit # Quit
if 'Quit' in selection: if 'Quit' in selection:
@ -186,31 +168,31 @@ def main_menu():
def network_test(): def network_test():
"""Run network tests.""" """Run network tests."""
clear_screen() std.clear_screen()
try_and_print = TryAndPrint() try_and_print = std.TryAndPrint()
result = try_and_print.run( result = try_and_print.run(
'Network connection...', connected_to_private_network, msg_good='OK') 'Network connection...', net.connected_to_private_network, msg_good='OK')
# Bail if not connected # Bail if not connected
if result['Failed']: if result['Failed']:
print_warning('Please connect to a network and try again') std.print_warning('Please connect to a network and try again')
pause('Press Enter to return to main menu...') std.pause('Press Enter to return to main menu...')
return return
# Show IP address(es) # Show IP address(es)
show_valid_addresses() net.show_valid_addresses()
# Ping tests # Ping tests
try_and_print.run( try_and_print.run(
'Internet connection...', ping, msg_good='OK', addr='8.8.8.8') 'Internet connection...', net.ping, msg_good='OK', addr='8.8.8.8')
try_and_print.run( try_and_print.run(
'DNS resolution...', ping, msg_good='OK', addr='google.com') 'DNS resolution...', net.ping, msg_good='OK', addr='google.com')
# Speedtest # Speedtest
try_and_print.run('Speedtest...', speedtest) try_and_print.run('Speedtest...', net.speedtest)
# Done # Done
pause('Press Enter to return to main menu...') std.pause('Press Enter to return to main menu...')
if __name__ == '__main__': if __name__ == '__main__':