def prompt_rusage_exec_dict(run_dict: dict) -> dict:
"""
Prompt for the config of the rusage exec runner.
:param run_dict: run config dict (without the runner part)
:return: runner config
"""
runner_dict = {}
default_props = ", ".join(RusageExecRunner.misc_options["properties"].get_default())
class RusagePropertiesValidator(Validator):
def validate(self, document: Document):
vals = [elem.strip() for elem in document.text.split(",")]
ret = verbose_isinstance(vals, ValidRusagePropertyList())
if not ret:
raise ValidationError(message=str(ret), cursor_position=len(document.text))
props = prompt("Which properties should be obtained from getrusage(1)? ",
validator=RusagePropertiesValidator(), default=default_props,
completer=WordCompleter(sorted(list(set(get_av_rusage_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
评论列表
文章目录