""" This test is used to make sur only the kwargs for the function make it into the triggered function, not those meant for autofront. """ import autofront def kwarg_printer(**kwargs): for kwarg in kwargs: print('{0} : {1}'.format(kwarg, kwargs[kwarg])) autofront.initialize(timeout=3) autofront.add(kwarg_printer) autofront.add(kwarg_printer, live=False, timeout=None, title='kwarg_printer with default kwargs', typed=False) autofront.add(kwarg_printer, live=False, timeout=None, title='kwarg_printer with default kwargs and test kwarg', typed=False, test_kwarg='test_kwarg') autofront.run()
import time import autofront def hanging_function(timeout=autofront.config.config['timeout']): time_slept = 0 print('Timeout is set at {} seconds'.format(str(timeout))) while True: time.sleep(1) time_slept += 1 print('Sleeping for {} seconds'.format(str(time_slept))) if time_slept > timeout: print('Warning! Still running past timeout') autofront.add(hanging_function, 5, timeout=5, join=True, title='hanging_join_5') autofront.add(hanging_function, join=False, title='hanging_no_join') autofront.add(hanging_function, 5, join=False, timeout=5, title='hanging_no_join_5') autofront.run()
and to check everything is still kosher. """ from pathlib import Path import autofront from simple_functions import foo, bar, positional, keywords, combined from simple_functions import mixed_args, bugged_function, types, types_kwarg from simple_functions import foo_args, return_value, return_value_args from simple_functions import return_value_types_args, input_function template_dir = str(Path(__file__).resolve().parent.joinpath('templates')) autofront.initialize(template_folder=template_dir) #Basic routes to functions with no args or kwargs autofront.add(foo) #Route to function with fixed args and kwargs autofront.add(foo_args, 'arg1', 'arg2', kwarg1='Surprise!', kwarg2='Aha!') #Route to function which returns a value autofront.add(return_value) #Basic route to script with no command-line args autofront.add('simple_script.py') #Route to script with fixed command-line args autofront.add('simple_script_args.py', 'foo', 'bar', 'foobar') #Route to show title syntax for duplicate functions and scripts autofront.add('simple_script_args.py', link='forgotargs', title='simple_script_args.py without args') #Route to test import behavior for scripts autofront.add('import_script.py') #Route to script requiring user input
import autofront def delayed_print(string): import time time.sleep(4) autofront.utilities.print_to_display(string) autofront.add(delayed_print, live=True, join=False) autofront.add(autofront.get_display) autofront.run()
import autofront from simple_functions import foo autofront.add(foo) autofront.run()
import autofront from simple_functions import foo autofront.add(foo) #autofront.add(foo) #Uncomment to test duplicate titles - should raise exception autofront.add(foo, title='bar') autofront.run()
""" Test module for autofront package This module starts a Flask server and tests route detection. """ import autofront from simple_functions import detect_function autofront.initialize() autofront.add(detect_function) autofront.add('detect_script.py') #autofront.add(8) #Uncomment to test exception message autofront.run()
import autofront from remote_led import flash_led autofront.add(flash_led, live=True, typed=True) autofront.run()
import autofront autofront.add('main_test_script.py') autofront.run()
import autofront def empty_arg_test(arg1, kwarg1=None): print('arg1 = {}'.format(arg1)) print('kwarg1 = {}'.format(kwarg1)) autofront.add(empty_arg_test, live=True, join=True) autofront.add('conditional_input_script.py', live=True) autofront.run()