{% macro render_field(field, label=None, class=None, info=None, width=None) %} {% if not kwargs['hidden'] %}
{{ field(class="form-control" + (" " + class if class else ""), **kwargs)|safe }}
{% else %} {{ field(**kwargs)|safe }} {% endif %} {% endmacro %} {% macro render_checkbox_field(title, items) %}
{% for tuple in items %} {% set checkbox = tuple[0] %} {% set show = tuple[1] if tuple|length > 1 else True %} {% if show %}
{% endif %} {% endfor %}
{% endmacro %} {% macro render_pypi_python_versions_field(field) %}
   

Limited to pyp2rpm spec generator

{% if field.errors %} {% for error in field.errors %}
  • {{ error }}
  • {% endfor %} {% endif %}
    {% endmacro %} {% macro render_pagination(request, paginator) %} {% if paginator.pages > 1 %}
    {% endif %} {% endmacro %} {% macro render_form_errors(form=[], errors=[]) %} {% set errors = (errors + form.errors.values() |sum(start=[])) |reject('none') |select('defined') |list %} {% if errors %} {% endif %} {% endmacro %} {% macro build_state_text(state) %} {% if state == "importing" %} {{ state }} {% elif state == "pending" %} {{ state }} {% elif state == "starting" %} {{ state }} {% elif state == "running" %} {{ state }} {% elif state == "succeeded" %} {{ state }} {% elif state == "forked" %} {{ state }} {% elif state == "skipped" %} {{ state }} {% elif state == "failed" %} {{ state }} {% elif state == "canceled" %} {{ state }} {% elif state == "waiting" %} {{ state }} {% else %} unknown {% endif %} {% endmacro %} {% macro build_state(build) %} {% if build.canceled %} {{ build_state_text("canceled") }} {% else %} {% if build.status is not none %} {{ build_state_text(build.status|state_from_num) }} {% elif build.source_status %} {{ build_state_text(build.source_status|state_from_num) }} {% else %} {{ build_state_text(0|state_from_num) }} {% endif %} {% endif %} {% endmacro %} {% macro module_state(module) %} {{ build_state_text(module.status | module_state_from_num) }} {% endmacro %} {% macro os_logo(logo_name) %} {% if logo_name %} {% endif %} {% endmacro %} {% macro friendly_os_name(os_release, os_version=None) %} {% if os_release == 'epel' %} EPEL {{ os_version }} {% elif os_release == 'opensuse-leap' %} openSUSE Leap {{ os_version }} {% elif os_release == 'openeuler' %} openEuler {{ os_version }} {% elif os_release == 'opensuse' and os_version == 'tumbleweed' %} openSUSE Tumbleweed {% else %} {{ os_release | capitalize }} {{ os_version }} {% endif %} {% endmacro %} {% macro alert(message, type=None) %} {% set alert_class_map = { "error": "alert-danger", "warning": "alert-warning", "success": "alert-success", } %} {% set alert_icon_map = { "error": "pficon-error-circle-o", "warning": "pficon-warning-triangle-o", "success": "pficon-ok", } %}
    {{ message |safe }}
    {% endmacro %} {%- macro copr_details_href(copr) %} {{- copr_url('coprs_ns.copr_detail', copr) }} {%- endmacro %} {% macro copr_title(copr) %} {% if copr.is_a_group_project %} {% set projects_list_href=url_for('groups_ns.list_projects_by_group', group_name=copr.group.name) %} {% set projects_list_name="@" + copr.group.name %} {% else %} {% set projects_list_href=url_for('coprs_ns.coprs_by_user', username=copr.user.name) %} {% set projects_list_name=copr.user.username %} {% endif %} {{ projects_list_name }}/{{ copr.name }} {% endmacro %} {% macro copr_name(copr) -%} {{ copr.full_name }} {% endmacro %} {%- macro owner_url(view, owner) %} {#- Given the owner object (user or group) generate proper URL for view Note that if you wan't to use this method for routes which _accept_ "coprname" argument, you wan't to use `copr_url` below. Usage: owner_url('coprs_ns.foo', groupX) owner_url('coprs_ns.foo', user1, arg1='bar', arg2='baz') #} {%- if owner.at_name %} {{- url_for(view, group_name=owner.name, **kwargs)|fix_url_https_frontend }} {%- else %} {{- url_for(view, username=owner.name, **kwargs)|fix_url_https_frontend }} {%- endif %} {% endmacro %} {%- macro copr_url(view, copr) %} {#- Examine given copr and generate proper URL for the `view` Values of `username/group_name` and `coprname` are autimatically passed as the first two URL parameters, and therefore you should *not* pass them manually. Usage: copr_url('coprs_ns.foo', copr) copr_url('coprs_ns.foo', copr, arg1='bar', arg2='baz') #} {{- owner_url(view, copr.owner, coprname=copr.name, **kwargs) }} {%- endmacro %} {%- macro copr_owner_url(copr) %} {% if copr.is_a_group_project %} {{- url_for('groups_ns.list_projects_by_group', group_name=copr.group.name) }} {% else %} {{- url_for('coprs_ns.coprs_by_user', username=copr.user.name) }} {% endif %} {%- endmacro %} {% macro user_projects_panel(user) %}

    {{ g.user.name | capitalize}}

    User Image
    {{ g.user.coprs_count }} My projects {% if config.FAS_LOGIN or config.LDAP_URL %} {{ user.user_groups|length }} My groups {% endif %}
    {% endmacro %} {% macro task_queue_panel(tasks_info, graph) %}

    Task Queue

    {{ tasks_info.batches }} Build Batches {{ tasks_info.importing}} Importing {{ tasks_info.pending }} Pending {{ tasks_info.starting }} Starting {{ tasks_info.running }} Running
    {% endmacro %} {% macro recent_builds_panel(builds) %}

    Recent Builds - View All

    {% for build in builds %}

    {{build.package.name}}

    Project: {{ copr_name(build.copr) }}

    Build: {{build.id}}

    State: {{build.state}}

    Finished: {{build.max_ended_on|time_ago()}} ago

    {% endfor %}
    {% endmacro %} {% macro recent_blog_panel() %} {% if config.NEWS_URL and config.NEWS_FEED_URL %}

    News - Read All

    {% for i in range(2) %} {% endfor %}
    {% endif %} {% endmacro %} {% macro render_crumb(href, title, active=False) %}
  • {{ title }}
  • {% endmacro %} {% macro render_breadcrumbs(crumbs) %} {% endmacro %} {%- macro build_href(build) %} {{- copr_url("coprs_ns.copr_build", build.copr, build_id=build.id) -}} {% endmacro %} {% macro build_href_from_sql(build) %} {% if build.group_name %} {{- url_for('coprs_ns.copr_build', group_name=(build.copr.group.name if build.copr is defined else build.group_name), coprname=build.copr_name, build_id=build.id) -}} {% else %} {{- url_for("coprs_ns.copr_build", username=(build.copr.user.name if build.copr is defined else build.user.name), coprname = build.copr_name, build_id = build.id) -}} {% endif %} {% endmacro %} {% macro package_href(package) %} {{- copr_url('coprs_ns.copr_package', package.copr, package_name=package.name) -}} {% endmacro %} {%- macro fas_group_href(name) -%} https://accounts.fedoraproject.org/group/{{name}} {%- endmacro -%} {% macro repo_file_href(copr, repo, arch=None) %} {%- if not arch %} {{- owner_url('coprs_ns.generate_repo_file', copr.owner, copr_dirname=copr.main_dir.name, name_release=repo.name_release, repofile=repo.repo_file, _external=True) -}} {%- else %} {{- owner_url('coprs_ns.generate_repo_file', copr.owner, copr_dirname=copr.main_dir.name, name_release=repo.name_release, repofile=repo.repo_file, arch=arch, _external=True) -}} {%- endif %} {% endmacro %} {% macro render_monitor_table(copr, pagination, oses, archs, simple=True) %} {% for i, chroot in oses %} {% endfor %} {% for chroot in archs %} {% endfor %} {# This table should be sorted by package name #} {% set current_row = [None] %} {% set copr_active_chroots_sorted = copr.active_chroots_sorted %} {% set copr_active_chroots_sorted_length = copr_active_chroots_sorted|length %} {#% set copr_active_chroots_sorted_index = copr_active_chroots_sorted_length %#} {# we need to set this var from an inner scope, which is unsupported, hence the following list-as-a-counter hacks: #} {% set copr_active_chroots_sorted_index = [1]*copr_active_chroots_sorted_length %} {% for package in pagination.items %} {% for buildchroot in package.latest_build_chroots %} {% endfor %} {% endfor %} {% for _ in range(copr_active_chroots_sorted_index|length, copr_active_chroots_sorted_length) %} {# "do" tag would help but just a tiny bit (so no enabling) #} {% endfor %}
    Package {{ chroot|capitalize }}
    {{ chroot }}
    {{ package.name }} {% if buildchroot %} {% if simple %} {{ build_state_text(buildchroot.status|state_from_num) }} {% else %} {{ buildchroot.build_id }}
    {{ build_state_text(buildchroot.status|state_from_num) }}
    {{ buildchroot.build.pkg_version }} {% endif %}
    {% else %} - {% endif %}
    -
    {% if pagination.serverside_pagination %} {{ pagination_form(pagination) }} {% endif %} {% endmacro %} {% macro render_bootstrap_options(form, build=False) %} {{ render_field(form.bootstrap, placeholder='default') }} {% if form.bootstrap_image %}
    {{ render_field(form.bootstrap_image, placeholder='Used when "custom image" is set in Mock Bootstrap. Enter in : format (e.g. fedora:32)') }}
    {% endif %} {% endmacro %} {% macro render_additional_build_options(form, copr) %}
    {% if form.only_package_chroots %}
    {{form.only_package_chroots.description|safe}}
    {% endif %}
    {% for ch in form.chroots %}
    {% endfor %}
    {{ form.csrf_token }}
  • {{form.timeout.description|safe}}
  • {{ render_field(form.isolation, placeholder='default') }} {{ render_field(form.bootstrap, placeholder='default') }} {{ render_field(form.with_build_id, class="input-field-12em") }} {{ render_field(form.after_build_id, class="input-field-12em") }}
    {% endmacro %} {% macro render_srpm_build_method_box(form) %}

    {{ counter('instructions') }}. How to build SRPM from the source

    {% set srpm_build_methods = [ ('rpkg', 'rpkg', 'Uses rpkg utility to build an srpm. Supports unpacked (plain sources + .spec) as well as packed (tarballs + patches + .spec) content.'), ('tito', 'tito', 'This method can be used for projects that are managed with Tito packaging tool.'), ('tito test', 'tito_test', 'Same as previous Tito method, but passes --test parameter to use current branch HEAD instead of the last package tag. Also extends Release of the built package with Git versioning information.'), ('make srpm', 'make_srpm', 'This method allows unlimited customization. You need to provide .copr/Makefile with srpm target in your project and this target will be invoked inside a mock chroot to build the srpm. You can read more here.'), ] %} {% for title, name, description in srpm_build_methods %}
    {% endfor %}
    {% endmacro %} {% macro warn_server_admin(copr) %} {% if being_server_admin(g.user, copr) %} {% set msg = "As a maintainer of this Copr instance, you have permissions " "to modify this project, but if you are acting as a regular " "user now, be aware that this is not your project." %} {{ alert(msg, type="warning") }} {% endif %} {% endmacro %} {% macro initialize_datatables(order="desc") %} {% endmacro %} {% macro status_info(type, tasks) %} {% if type != 'importing' %} {% endif %} {% for task_type, time, task in tasks %} {% set build_chroot = task if type == 'importing' or task_type == 'srpm' else task.build %} {% if type != 'importing' %} {% if task_type == 'srpm' %} {% if (task.package is not none) and (task.package.name is not none) %} {% else %} {% endif %} {% if task.pkg_version is not none %} {% else %} {% endif %} {% else %} {% endif %} {% endif %} {% endfor %}
    {% if type == 'importing' %} Waiting {% elif type == 'pending' %} Pending {% elif type == 'starting' %} Starting {% else %} Running {% endif %} Project BuildPackage Name Package Version Chroot
    {{ time | time_ago }} {{ copr_name(build_chroot.copr) }} {{ build_chroot.id }} {% if build_chroot.is_background %} background {% endif %} {{ task.package.name }} -{{ task.pkg_version }} -Source build{{ task.build.package.name }} {{ task.build.pkg_version }} {{ task.mock_chroot.name }}
    {% endmacro %} {% macro render_project_box(copr, pinned=False) %}

    {{ copr_name(copr) }}

    {% if copr.delete_after %} (temporary project, {{ copr.delete_after_msg }}) {% endif %}
    {% if pinned %} {% endif %} {{ copr.description|markdown|remove_anchor|default('Description not filled in by author. Very likely personal repository for testing purpose, which you should not use.', true) }}
      {% for os in copr.active_chroots_grouped %}
    • {{ friendly_os_name(os[0].split()[0], os[0].split()[1]) }}: {% for arch in os[1] %} {{ arch }}{% if not loop.last %}, {% endif %} {% endfor %}
    • {% endfor %}
    {% endmacro %} {% macro render_project_voting(copr) %} {% set score = g.user.score_for_copr(copr) if g.user else 0 %} {% set score_color = 'text-default' %} {% if score > 0 %} {% set score_color = 'text-green' %} {% elif score < 0 %} {% set score_color = 'text-danger' %} {% endif %}
    {% endmacro %} {% macro render_repository_line(chroot) %} {% set color = 'danger' if chroot.delete_after_days < config.EOL_CHROOTS_NOTIFICATION_PERIOD else 'secondary' %} {{ chroot.mock_chroot.os.capitalize() }} {{ chroot.mock_chroot.arch }} {{ chroot.delete_after_humanized }} {% if g.user.can_edit(chroot.copr) %} {% else %} Missing admin permissions {% endif %} {% endmacro %} {% macro pagination_form(pagination) %}
    {{ pagination.per_page*(pagination.page -1) + 1}} - {{ pagination.per_page*(pagination.page) }} of {{ pagination.total }}
    of {{ pagination.pages }}
    {% endmacro %} {% macro serverside_pagination_warning() %}

    Warning! This is a large project with many packages and/or builds - we can not hold all the requested data on one page (as we usually do), please use the pagination buttons below the table.

    {% endmacro %} {% macro render_search_bar(large=False, form_id="1") %} {% set size = "input-group-lg" if large else "" %} {% endmacro %} {% macro projects_header(new_project=True, fedora_review=True, customize_pinned=True, my_projects=True) %}
    {% if new_project %} New Project {% endif %} {% if fedora_review %} Fedora Review {% endif %} {% if my_projects %} My Projects {% endif %} {% if customize_pinned %} Customize Pinned {% endif %}
    {% endmacro %} {% macro documentation_card(icon, title, url, text, first=False) %}

    {{ title }}

    {{ text }}
    Read more

    {% endmacro %}