def create_post_run_table(
kiara: "Kiara",
job: ActiveJob,
module: "KiaraModule",
job_config: JobConfig,
**render_config: Any
) -> Table:
dev_config = get_dev_config()
table = Table(show_header=False, box=box.SIMPLE)
table.add_column("key", style="i")
table.add_column("value")
table.add_row("job_id", str(job.job_id))
module_details = dev_config.log.post_run.module_info
if module_details not in [DetailLevel.NONE.value, DetailLevel.NONE]:
if module_details in [DetailLevel.MINIMAL.value, DetailLevel.MINIMAL]:
table.add_row("module", module.module_type_name)
table.add_row(
"module desc",
kiara.context_info.module_types.item_infos[
module.module_type_name
].documentation.description,
)
elif module_details in [DetailLevel.FULL.value, DetailLevel.FULL]:
table.add_row("module", module.module_type_name)
table.add_row(
"module doc",
kiara.context_info.module_types.item_infos[
module.module_type_name
].documentation.full_doc,
)
if module_config_is_empty(module.config.dict()):
table.add_row("module_config", "-- no config --")
else:
table.add_row("module_config", module.config)
inputs_details = dev_config.log.post_run.inputs_info
if inputs_details not in [DetailLevel.NONE.value, DetailLevel.NONE]:
if inputs_details in [DetailLevel.MINIMAL, DetailLevel.MINIMAL.value]:
render_config["show_type"] = False
value_map_rend: RenderableType = create_value_map_renderable(
value_map=job_config.inputs, **render_config
)
table.add_row("inputs", value_map_rend)
elif inputs_details in [DetailLevel.FULL, DetailLevel.FULL.value]:
value_map = kiara.data_registry.load_values(values=job_config.inputs)
table.add_row("inputs", value_map.create_renderable(**render_config))
outputs_details = dev_config.log.post_run.outputs_info
if outputs_details not in [DetailLevel.NONE.value, DetailLevel.NONE]:
if outputs_details in [DetailLevel.MINIMAL, DetailLevel.MINIMAL.value]:
render_config["show_type"] = False
if job.results is None:
value_map_rend = "-- no results --"
else:
value_map_rend = create_value_map_renderable(
value_map=job.results, **render_config
)
table.add_row("outputs", value_map_rend)
elif outputs_details in [DetailLevel.FULL, DetailLevel.FULL.value]:
if job.results is None:
value_map_rend = "-- no results --"
else:
value_map = kiara.data_registry.load_values(values=job.results)
value_map_rend = value_map.create_renderable(**render_config)
table.add_row("outputs", value_map_rend)
return table