Use broader imports for wk/hw/diags.py
This commit is contained in:
parent
fe228a5edc
commit
2520126905
2 changed files with 26 additions and 44 deletions
|
|
@ -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__':
|
||||||
|
|
|
||||||
|
|
@ -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__':
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue