{% macro render_column_header(header_style, center_text=False, sort_key=None, header_title=None) %} {% set class_suffix = (search.sort == sort_key) and ("_" + search.order) or "" %} {% set th_classes = filter_truthy([sort_key and "sorting" + class_suffix, center_text and "text-center"]) %} <th {% if th_classes %} class="{{ ' '.join(th_classes) }}"{% endif %} {% if header_title %}title="{{ header_title }}"{% endif %} style="{{ header_style }}"> {% if sort_key %} <a href="{% if class_suffix == '_desc' %}{{ modify_query(s=sort_key, o="asc") }}{% else %}{{ modify_query(s=sort_key, o="desc") }}{% endif %}"></a> {% endif %} {{ caller() }} </th> {% endmacro %} {% if torrent_query.items %} <div class="table-responsive"> <table class="table table-bordered table-hover table-striped torrent-list"> <thead> <tr> {% call render_column_header("width:80px;", center_text=True) %} <div>Category</div> {% endcall %} {% call render_column_header("width:auto;", sort_key="name") %} <div>Name</div> {% endcall %} {% call render_column_header("width:0;", center_text=True) %} <div>Link</div> {% endcall %} {% call render_column_header("width:100px;", center_text=True, sort_key="size") %} <div>Size</div> {% endcall %} {% call render_column_header("width:140px;", center_text=True, sort_key="id", header_title="In UTC") %} <div>Date</div> {% endcall %} {% if config.ENABLE_SHOW_STATS %} {% call render_column_header("width:50px;", center_text=True, sort_key="seeders", header_title="Seeds") %} <i class="fa fa-arrow-up" aria-hidden="true"></i> {% endcall %} {% call render_column_header("width:50px;", center_text=True, sort_key="leechers", header_title="Leeches") %} <i class="fa fa-arrow-down" aria-hidden="true"></i> {% endcall %} {% call render_column_header("width:50px;", center_text=True, sort_key="downloads", header_title="Completed downloads") %} <i class="fa fa-check" aria-hidden="true"></i> {% endcall %} {% endif %} </tr> </thead> <tbody> {% for torrent in torrent_query.items %} <tr class="{% if torrent.deleted %}deleted{% elif torrent.hidden %}warning{% elif torrent.remake %}danger{% elif torrent.trusted %}success{% else %}default{% endif %}"> {% set cat_id = (torrent.main_category.id|string) + '_' + (torrent.sub_category.id|string) %} {% set icon_dir = config.SITE_FLAVOR %} <td style="padding:0 4px;"> <a href="/?c={{ cat_id }}" title="{{ torrent.main_category.name }} - {{ torrent.sub_category.name }}"> <img src="/static/img/icons/{{ icon_dir }}/{{ cat_id }}.png"> </a> </td> <td><a href="{{ url_for('view_torrent', torrent_id=torrent.id) }}">{{ torrent.display_name | escape }}</a></td> <td style="white-space: nowrap;text-align: center;"> {% if torrent.has_torrent %}<a href="{{ url_for('download_torrent', torrent_id=torrent.id) }}"><i class="fa fa-fw fa-download"></i></a>{% endif %} <a href="{{ torrent.magnet_uri }}"><i class="fa fa-fw fa-magnet"></i></a> </td> <td class="text-center">{{ torrent.filesize | filesizeformat(True) }}</td> <td class="text-center" data-timestamp="{{ torrent.created_utc_timestamp|int }}">{{ torrent.created_time.strftime('%Y-%m-%d %H:%M') }}</td> {% if config.ENABLE_SHOW_STATS %} <td class="text-center" style="color: green;">{{ torrent.stats.seed_count }}</td> <td class="text-center" style="color: red;">{{ torrent.stats.leech_count }}</td> <td class="text-center">{{ torrent.stats.download_count }}</td> {% endif %} </tr> {% endfor %} </tbody> </table> </div> {% else %} <h3>No results found</h3> {% endif %} <center> {% from "bootstrap/pagination.html" import render_pagination %} {{ render_pagination(torrent_query) }} </center>