def new_config():
    """Prompt user for config variables and generate new config.

    Returns: A new ConfigDict.
    """
    config = ConfigDict()
    config["module-path"] = qprompt.ask_str(
        "Top-level module path",
        blk=False,
        vld=os.path.exists,
        hlp=MODULE_PATH_HELP)

    python_version = qprompt.ask_str(
        'Python version (blank for auto detection)',
        vld=_validate_python_version,
        hlp=PYTHON_VERSION_HELP)
    config['python-version'] = python_version

    timeout = qprompt.ask_str(
        'Test execution timeout (seconds)',
        vld=float,
        blk=False,
        hlp="The number of seconds to let a test run before terminating it.")
    config['timeout'] = float(timeout)
    config['excluded-modules'] = []

    config["test-command"] = qprompt.ask_str(
        "Test command",
        blk=False,
        hlp=TEST_COMMAND_HELP)

    menu = qprompt.Menu()
    for at_pos, engine_name in enumerate(execution_engine_names()):
        menu.add(str(at_pos), engine_name)
    config["execution-engine"] = ConfigDict()
    config['execution-engine']['name'] = menu.show(header="Execution engine", returns="desc")

    config["cloning"] = ConfigDict()
    config['cloning']['method'] = 'copy'
    config['cloning']['commands'] = []

    return config
def new_config ( ) : config = ConfigDict ( ) config [ "module-path" ] = qprompt . ask_str ( "Top-level module path" , blk = False , vld = os . path . exists , hlp = MODULE_PATH_HELP ) python_version = qprompt . ask_str ( 'Python version (blank for auto detection)' , vld = _validate_python_version , hlp = PYTHON_VERSION_HELP ) config [ 'python-version' ] = python_version timeout = qprompt . ask_str ( 'Test execution timeout (seconds)' , vld = float , blk = False , hlp = "The number of seconds to let a test run before terminating it." ) config [ 'timeout' ] = float ( timeout ) config [ 'excluded-modules' ] = [ ] config [ "test-command" ] = qprompt . ask_str ( "Test command" , blk = False , hlp = TEST_COMMAND_HELP ) menu = qprompt . Menu ( ) for at_pos , engine_name in enumerate ( execution_engine_names ( ) ) : menu . add ( str ( at_pos ) , engine_name ) config [ "execution-engine" ] = ConfigDict ( ) config [ 'execution-engine' ] [ 'name' ] = menu . show ( header = "Execution engine" , returns = "desc" ) config [ "cloning" ] = ConfigDict ( ) config [ 'cloning' ] [ 'method' ] = 'copy' config [ 'cloning' ] [ 'commands' ] = [ ] return config
Prompt user for config variables and generate new config.

    Returns: A new ConfigDict.