{% macro status_badge(thing) -%} {% if not thing or thing.ident == 'unknown' %} ? {% else %} {{ thing.abbrev }} {% endif %} {%- endmacro %} {% macro naming_status_badge(thing) -%} {% if not thing or thing.ident == 'unknown' %} {% else %} {% endif %} {%- endmacro %} {% macro pkglink( pkg, ignore_misnamed=False, ignore_unversioned_requires=False, after_name='') -%} {{- pkglink_icon(pkg) -}}   {{- pkg.name -}} {{- after_name -}} {{- pkg_naming_badge( pkg, ignore_misnamed=ignore_misnamed, ignore_unversioned_requires=ignore_unversioned_requires, ) -}} {{- ftbfs_badge(pkg) -}} {{- orphan_badge(pkg) -}} {{- exception_badge(pkg) -}} {%- endmacro %} {% macro orphan_badge(pkg) -%} {%- if 'orphan' in pkg['maintainers'] -%} {{ orphan_clock_badge(pkg) }} {%- endif -%} {%- endmacro -%} {% macro orphan_clock_badge(pkg) -%} {%- set change = pkg.get('last_repo_metadata_change') -%} {%- if change -%} {%- if (now - change).days >= 6*7 -%} {{ _orphan_clock_badge_i("hourglass-o", change) }} {%- elif (now - change).days > 5*7 -%} {{ _orphan_clock_badge_i("hourglass-3", change) }} {%- elif (now - change).days > 3*7 -%} {{ _orphan_clock_badge_i("hourglass-2", change) }} {%- elif (now - change).days >= 0 -%} {{ _orphan_clock_badge_i("hourglass-1", change) }} {%- else -%} {{ _orphan_clock_badge_i("hourglass", change) }} {%- endif -%} {%- endif -%} {%- endmacro -%} {% macro _orphan_clock_badge_i(icon, change) -%} {%- endmacro %} {% macro exception_badge(pkg) -%} {%- for grp in pkg['groups'].values() -%} {%- if 'exception' in grp and not grp['hidden'] and pkg['name'] in grp['seed_packages'] %} {%- endif -%} {%- endfor -%} {%- endmacro %} {% macro pkglink_icon(pkg) -%}   {%- endmacro %} {% macro ftbfs_badge(pkg) -%} {% if pkg.ftbfs_age %} {% for i in range(pkg.ftbfs_age) %}!{% endfor %} {%- endif -%} {%- endmacro %} {% macro pkglink_text(pkg) -%} {{ pkg.name }} {%- endmacro %} {% macro pkg_naming_badge(pkg, ignore_misnamed=False, ignore_unversioned_requires=False) -%} {%- if pkg['is_misnamed'] and not ignore_misnamed %} {{ misnamed_badge() }} {% endif -%} {%- if pkg['unversioned_requires'] and not ignore_unversioned_requires %} {{ unversioned_requires_badge( pkg['blocked_requires']) }} {% endif -%} {%- endmacro %} {% macro _naming_badge(color, text) -%} {%- endmacro %} {% macro misnamed_badge() -%} {{ _naming_badge('F0AD4E', 'Misnamed package') }} {%- endmacro %} {% macro unversioned_requires_badge(blocked) -%} {%- if blocked -%} {{ _naming_badge('a65959', 'Ambiguous Requires (blocked)') }} {%- else -%} {{ _naming_badge('8c6699', 'Ambiguous Requires') }} {%- endif -%} {%- endmacro %} {% macro print_deptree(nodes) -%} {%- endmacro %} {% macro sub_deptree(nodes) -%} {%- for node in nodes -%}
  • {{ pkglink(node.package, after_name=':' if node.children else '') }} {% if 'run' in node.kinds -%} {%- endif -%} {%- if 'build' in node.kinds %} {%- endif -%} {%- if 'elided' in node.kinds -%}  ⋯ {%- endif -%} {%- if node.children -%} {%- elif 'too-big' in node.kinds -%}
    {%- endif -%}
  • {%- endfor -%} {%- endmacro %} {% macro pkglist_table_head() -%} Package Status {%- endmacro %} {% macro pkglist_table_content(packages, show_nonblocking=False) -%} {{ pkglist_table_head() }} {% for pkg in packages|sort_by_status %} {{ package_tr_content(cname, pkg, show_nonblocking=show_nonblocking) }} {% endfor %} {%- endmacro %} {% macro package_tr_content(category_name, pkg, show_nonblocking=False) -%} {{ pkglink(pkg) }} {% if show_nonblocking and pkg.nonblocking %} (nonblocking) {% endif %} {{ status_badge(pkg.status_obj) }} {% for link in pkg.links %} {{ iconlink(link) }} {% endfor %} {%- endmacro %} {% macro iconlink_class(link) -%} {% if link.type == 'repo' %} iconlink fa fa-code {% elif link.type == 'homepage' %} iconlink fa fa-home {% endif %} {%- endmacro %} {% macro iconlink_alt(link) -%} {{ link.type }} {%- if link.note -%} {{" "}}({{ link.note }}) {%- endif -%} {%- endmacro %} {% macro bugicon(bug, extra_class='') %} {% endmacro %} {% macro iconlink(link) -%} {{ iconlink_alt(link) }} {%- endmacro %} {% macro progress_summary(status_counts, total) -%}
    {% for status, num in status_counts %} {% if num %}
    {% endif %} {% endfor %}
    {{ progress_summary_legend(status_counts, total) }}
    {%- endmacro %} {% macro progress_summary_legend(status_counts, total=None, kind='') -%}
    {% if total != None %} {{ total }} {{ kind }} packages: {% endif %} {% for status, num in status_counts %} {{ status_badge(status) }} {{ num }} {{ status.name }}{% if not loop.last %};{% endif %} {% endfor %}
    {%- endmacro %} {% macro progress_legend(packages, kind) -%} {{ progress_summary_legend(packages|summarize_statuses, packages|length, kind=kind) }} {%- endmacro %} {% macro loc_chart(pkg) -%} {% if pkg['loc_total'] %} {% set max_size = 20000000 %} {# (a bit bigger than the biggest repo - kernel) #} {% set width = ((log(pkg['loc_total'], max_size))) %}
    {% if pkg['loc_python'] and pkg['loc_python'] > 0.0001 %}
    {% endif %} {% if pkg['loc_capi'] and pkg['loc_capi'] > 0.0001 %}
    {% endif %}
    {% endif %} {%- endmacro %} {%- macro maintainer_link(maintainer) -%} {% if maintainer.packages | length > 1 %} {{- maintainer.name -}} {% else %} {{ maintainer.name }} {% endif %} ({{ maintainer.packages | length }}) {%- endmacro -%} {%- macro nonpython_package_links(name) -%} Pagure, spec {%- endmacro -%} {% block titlecontent %}Python 2 Dropping Database{% endblock titlecontent %} {% block favicon %} {% endblock favicon %} {% block breadcrumbs %} {% endblock breadcrumbs %} {% block bodycontent %} {% endblock bodycontent %} {% if 'message' in config %}
    {{ config['message'] }}
    {% endif %}