Skip to content

Commit

Permalink
Stop adding values to rendered templates UI when there is no dagrun (#…
Browse files Browse the repository at this point in the history
…33516)

(cherry picked from commit d9814eb)
  • Loading branch information
hussein-awala authored and ephraimbuddy committed Aug 28, 2023
1 parent f4c2b58 commit df352f3
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions airflow/www/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1446,6 +1446,8 @@ def rendered_templates(self, session):
dag_run = dag.get_dagrun(execution_date=dttm, session=session)
raw_task = dag.get_task(task_id).prepare_for_execution()

no_dagrun = False

title = "Rendered Template"
html_dict = {}

Expand All @@ -1458,6 +1460,7 @@ def rendered_templates(self, session):
# database) for presentation only.
ti = TaskInstance(raw_task, map_index=map_index)
ti.dag_run = DagRun(dag_id=dag_id, execution_date=dttm)
no_dagrun = True
else:
ti = dag_run.get_task_instance(task_id=task_id, map_index=map_index, session=session)
if ti:
Expand Down Expand Up @@ -1503,28 +1506,33 @@ def rendered_templates(self, session):
content = getattr(task, template_field)
renderer = task.template_fields_renderers.get(template_field, template_field)
if renderer in renderers:
html_dict[template_field] = renderers[renderer](content)
html_dict[template_field] = renderers[renderer](content) if not no_dagrun else ""
else:
html_dict[template_field] = Markup("<pre><code>{}</pre></code>").format(pformat(content))
html_dict[template_field] = Markup("<pre><code>{}</pre></code>").format(
pformat(content) if not no_dagrun else ""
)

if isinstance(content, dict):
if template_field == "op_kwargs":
for key, value in content.items():
renderer = task.template_fields_renderers.get(key, key)
if renderer in renderers:
html_dict[".".join([template_field, key])] = renderers[renderer](value)
html_dict[".".join([template_field, key])] = (
renderers[renderer](value) if not no_dagrun else ""
)
else:
html_dict[".".join([template_field, key])] = Markup(
"<pre><code>{}</pre></code>"
).format(pformat(value))
).format(pformat(value) if not no_dagrun else "")
else:
for dict_keys in get_key_paths(content):
template_path = ".".join((template_field, dict_keys))
renderer = task.template_fields_renderers.get(template_path, template_path)
if renderer in renderers:
content_value = get_value_from_path(dict_keys, content)
html_dict[template_path] = renderers[renderer](content_value)

html_dict[template_path] = (
renderers[renderer](content_value) if not no_dagrun else ""
)
return self.render_template(
"airflow/ti_code.html",
show_trigger_form_if_no_params=conf.getboolean("webserver", "show_trigger_form_if_no_params"),
Expand Down

0 comments on commit df352f3

Please sign in to comment.