Source code for fibsem.user_input

import argparse
import os
import yaml

import fibsem

response_yes = ['yes', 'y']
response_no = ['no', 'n']
response_cancel = ['quit', 'q', 'exit', 'cancel']
known_responses = response_yes + response_no + response_cancel
default_response_yes = [''] + response_yes  # Blank '' not in known_responses


[docs]def response(message): user_response = '' while user_response.lower() not in known_responses: user_response = input(message + '\n') return user_response
[docs]def configure_parser(): """Configure parser and add user input arguments. Returns ------- args : argparse arguments Parsed user input arguments. """ __DESCR__ = ('DeMarco lab FEB-SEM controls.\n' 'Version {}'.format(fibsem.__version__)) parser = argparse.ArgumentParser(description=__DESCR__) config_default = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', 'config_default.yml') parser.add_argument('--config', help='Filepath of input user settings yml file.', type=str, default=config_default) parser.add_argument('--host', help='IP address of host (if offline use "localhost")', type=str, default='10.0.0.1', choices=['10.0.0.1', 'localhost'], nargs='?') args = parser.parse_args() return args
[docs]def load_config(yaml_filename): with open(yaml_filename, "r") as f: settings = yaml.safe_load(f) for key in settings: try: settings[key] = float(settings[key]) except ValueError: pass return settings