{% extends "base.html" %} {% from "utils.html" import render_tree %} {% block scripts %} {{super()}} {% endblock %} {% block app_content %}

{{qbt.info.name}}

{{(qbt.info.progress*100)|round(2)}} %
{{qbt.info.state[0]}} {% if qbt.info.category %} {{qbt.info.category}} {% endif %}

Info

Total Size
{{qbt.info.size|filesizeformat(binary=True)}} ({{[0,qbt.info.size-qbt.info.downloaded]|max|filesizeformat(binary=True)}} left)
Files
{{qbt.files|count}}
Downloaded
{{qbt.info.downloaded|filesizeformat(binary=True)}} ({{qbt.info.dlspeed|filesizeformat(binary=True)}}/s)
Uploaded
{{qbt.info.uploaded|filesizeformat(binary=True)}} ({{qbt.info.upspeed|filesizeformat(binary=True)}}/s)

Health

Last Active
{{qbt.info.last_activity|ago(clamp=True)}} Ago
Age
{{qbt.info.added_on|ago}}
Avg. DL rate
{{(qbt.info.downloaded/((qbt.info.added_on|ago).total_seconds()))|filesizeformat(binary=True)}}/s (A: {{(qbt.info.downloaded/qbt.info.time_active)|filesizeformat(binary=True)}}/s)
Avg. UL rate
{{(qbt.info.uploaded/((qbt.info.added_on|ago).total_seconds()))|filesizeformat(binary=True)}}/s (A: {{(qbt.info.uploaded/qbt.info.time_active)|filesizeformat(binary=True)}}/s)
ETC (DL rate while active)
{% set dl_rate_act = (qbt.info.downloaded/qbt.info.time_active) %} {% if dl_rate_act>0 %} {{((qbt.info.size-qbt.info.downloaded)/dl_rate_act)|round(0)|timedelta(clamp=true)}} {% else %} N/A {% endif %}
ETC (avg. DL rate)
{% set dl_rate = (qbt.info.downloaded/((qbt.info.added_on|ago(clamp=True)).total_seconds())) %} {% if dl_rate>0 %} {{((qbt.info.size-qbt.info.downloaded)/dl_rate)|round(0)|timedelta(clamp=true)}} {% else %} N/A {% endif %}
Total active time
{{qbt.info.time_active|timedelta}}
Availability
{% if qbt.info.availability==-1 %} N/A {% else %} {{(qbt.info.availability*100)|round(2)}} % {% endif %}

Swarm

Seeds
{{qbt.info.num_seeds}}
Leechers
{{qbt.info.num_leechs}}
Last seen completed
{{qbt.info.seen_complete|ago}} Ago

Files

{{render_tree(qbt.files|sort(attribute='name')|list|make_tree)}}

Trackers

{% if current_user.is_admin %} Add default trackers {% endif %}
{% for tracker in qbt.trackers|sort(attribute='total_peers', reverse=true) %}
{% if tracker.has_url %} {{tracker.name}} {% else %} {{tracker.name}} {% endif %} {% if tracker.message %} {{tracker.message}} {% endif %}
{{tracker.status[0]}} (S: {{tracker.num_seeds[1]}}, L: {{tracker.num_leeches[1]}}, P: {{tracker.num_peers[1]}}, D: {{tracker.num_downloaded[1]}})
{% endfor %} {% endblock %}