=== {% autoescape off %}Signoff report for [{{ repo|lower }}] ===
{{ signoffs_url }}

There are currently:
* {{ new|length }} new package{{ new|length|pluralize }} in last {{ new_hours }} hours
* {{ bad|length }} known bad package{{ bad|length|pluralize }}
* {{ disabled|length }} package{{ disabled|length|pluralize }} not accepting signoffs
* {{ complete|length }} fully signed off package{{ complete|length|pluralize }}
* {{ incomplete|length }} package{{ incomplete|length|pluralize }} missing signoffs
* {{ old|length }} package{{ old|length|pluralize }} older than {{ old_days }} days

(Note: the word 'package' as used here refers to packages as grouped by
pkgbase, architecture, and repository; e.g., one PKGBUILD produces one
package per architecture, even if it is a split package.)


{% if new %}== New packages in [{{ repo|lower}}] in last {{ new_hours }} hours ({{ new|length }} total) ==
{% for group in new %}
* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %}

{% endif %}{% regroup incomplete by target_repo as by_repo %}{% for target_repo in by_repo %}
== Incomplete signoffs for [{{ target_repo.grouper|lower }}] ({{ target_repo.list|length }} total) ==
{% for group in target_repo.list %}
* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }})
    {{ group.completed }}/{{ group.required }} signoffs{% endfor %}
{% endfor %}

{% if complete %}== Completed signoffs ({{ complete|length }} total) ==
{% for group in complete %}
* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}){% endfor %}


{% endif %}{% if old %}== All packages in [{{ repo|lower }}] for more than {{ old_days }} days ({{ old|length }} total) ==
{% for group in old %}
* {{ group.pkgbase }}-{{ group.version }} ({{ group.arch }}), since {{ group.last_update|date }}{% endfor %}


{% endif %}== Top five in signoffs in last {{ new_hours }} hours ==
{% for leader in leaders %}
{{ forloop.counter }}. {{ leader.user }} - {{ leader.count }} signoffs{% endfor %}
{% endautoescape %}
