Skip to content

Latest commit

 

History

History
90 lines (74 loc) · 2.43 KB

.TEMPLATE.rst

File metadata and controls

90 lines (74 loc) · 2.43 KB

{# TOWNCRIER TEMPLATE #}

({{ versiondata.date }})

{% for section, _ in sections.items() %} {% set underline = underlines[0] %}{% if section %}{{section}} {{ underline * section|length }}{% set underline = underlines[1] %}

{% endif %}

{% if sections[section] %} {% for category, val in definitions.items() if category in sections[section]%} {{ definitions[category]['name'] }} {{ underline * definitions[category]['name']|length }}

{% if definitions[category]['showcontent'] %} {% for text, change_note_refs in sections[section][category].items() %} - {{ text }}

{{- 'n' * 2 -}}

{#-
NOTE: Replacing 'e' with 'f' is a hack that prevents Jinja's int NOTE: filter internal implementation from treating the input as an NOTE: infinite float when it looks like a scientific notation (with a NOTE: single 'e' char in between digits), raising an OverflowError, NOTE: subsequently. 'f' is still a hex letter so it won't affect the NOTE: check for whether it's a (short or long) commit hash or not. Ref: pallets/jinja#1921

-#} {%-

set pr_issue_numbers = change_note_refs | map('lower') | map('replace', 'e', 'f') | map('int', default=None) | select('integer') | map('string') | list

-%} {%- set arbitrary_refs = [] -%} {%- set commit_refs = [] -%} {%- with -%}

{%- set commit_ref_candidates = change_note_refs | reject('in', pr_issue_numbers) -%} {%- for cf in commit_ref_candidates -%}

{%- if cf | length in (7, 8, 40) and cf | int(default=None, base=16) is not none -%}
{%- set _ = commit_refs.append(cf) -%}
{%- else -%}
{%- set _ = arbitrary_refs.append(cf) -%}

{%- endif -%}

{%- endfor -%}

{%- endwith -%}

{% if pr_issue_numbers %} Related issues and pull requests on GitHub: :issue:`{{ pr_issue_numbers | join('`, :issue:`') }}`. {{- 'n' * 2 -}} {%- endif -%}

{% if commit_refs %} Related commits on GitHub: :commit:`{{ commit_refs | join('`, :commit:`') }}`. {{- 'n' * 2 -}} {%- endif -%}

{% if arbitrary_refs %} Unlinked references: {{ arbitrary_refs | join(', ') }}. {{- 'n' * 2 -}} {%- endif -%}

{% endfor %} {% else %} - {{ sections[section][category]['']|join(', ') }}

{% endif %} {% if sections[section][category]|length == 0 %} No significant changes.

{% else %} {% endif %}

{% endfor %} {% else %} No significant changes.

{% endif %} {% endfor %} ---- {{ 'n' * 2 }}