def prompt_time_exec_dict(run_dict: dict) -> dict:
"""
Prompt for the config of the time exec runner.
:param run_dict: run config dict (without the runner part)
:return: runner config
"""
runner_dict = {}
default_props = ", ".join(TimeExecRunner.misc_options["properties"].get_default())
class TimePropertiesValidator(Validator):
def validate(self, document: Document):
vals = [elem.strip() for elem in document.text.split(",")]
ret = verbose_isinstance(vals, ValidTimePropertyList())
if not ret:
raise ValidationError(message=str(ret), cursor_position=len(document.text))
props = prompt("Which properties should be obtained from gnu time? ",
validator=TimePropertiesValidator(), default=default_props,
completer=WordCompleter(sorted(list(set(get_av_time_properties().keys()))),
meta_dict=get_av_rusage_properties(), ignore_case=False, WORD=True))
runner_dict["properties"] = [prop.strip() for prop in props.split(",")]
return runner_dict
评论列表
文章目录