{% for k, v in source_tree.items()|sort(attribute='0') %}
{% set fpath = v.data['path'].decode() %}
{% set rpath = fpath.removeprefix(root_path + '/') %}
{% set node_data = nodes_data.get(v.swhid()) %}
{% set known = node_data['known'] %}
{% set known_percent = 0 %}
{% if v.object_type == 'directory' %}
{% if v.data['path'] in summary['partially_known_directories'] %}
{% set known_percent = 50 %}
{% elif v.data['path'] in summary['full_known_directories'] %}
{% set known_percent = 100 %}
{% endif %}
{% elif v.object_type == 'content' %}
{% set known_percent = 100 if known else 0 %}
{% endif %}
{% set provenance = json(node_data["provenance"]) if "provenance" in node_data else None %}
{% if "revision" in node_data and "swhid" in node_data["revision"] %}
{% do node_data["revision"].update(swhid=node_data["revision"]["swhid"]|string) %}
{% endif %}
{% if "release" in node_data and "swhid" in node_data["release"] %}
{% do node_data["release"].update(swhid=node_data["release"]["swhid"]|string) %}
{% endif %}
{% set revision = json(node_data["revision"]) if "revision" in node_data else None %}
{% set release = json(node_data["release"]) if "release" in node_data else None %}
{% else %}
style="background: conic-gradient(orange {{ known_percent }}%, white 0)">
{% endif %}
{{ k.decode() }}