def set_extension_value(experiment: Experiment, key: str, value: Any): extensions = experiment.setdefault("extensions", []) for extension in extensions: ext_name = extension.get("name") if ext_name == "chaosiq": extension[key] = str(value) break else: extensions.append({"name": "chaosiq", key: value})
def del_extension_value(experiment: Experiment, key: str, silent: bool = True): extensions = experiment.setdefault("extensions", []) for extension in extensions: ext_name = extension.get("name") if ext_name == "chaosiq": try: del extension[key] except KeyError: if not silent: raise
def set_experiment_id(experiment_id: str, experiment: Experiment) -> NoReturn: extensions = experiment.setdefault("extensions", []) for extension in extensions: if extension["name"] == "chaosiq": extension["experiment_id"] = experiment_id break else: extensions.append({ "name": "chaosiq", "experiment_id": experiment_id })
def get_extension_value(experiment: Experiment, key: str, default: Any = None): extensions = experiment.setdefault("extensions", []) for extension in extensions: ext_name = extension.get("name") if ext_name == "chaosiq": return extension.get(key, default)
def set_run_id(verification_run_id: str, experiment: Experiment) -> None: extensions = experiment.setdefault("extensions", []) for extension in extensions: if extension["name"] == "chaosiq": extension["verification"]["run_id"] = verification_run_id break