{% extends "base.html" %} {% block title %}Admin — YouTube offline{% endblock %} {% block body %}

YouTube offline

Indsæt en YouTube-URL, så hentes videoen til Emby-biblioteket {{ settings.library_name }} — klar til at se uden net, fx i et fly. Når du har markeret den som set i Emby, slettes den efter {{ settings.grace_days }} dage. Favoritter slettes aldrig. Halvt sete videoer rører oprydningen ikke.

{% if saved %}
{{ saved }}
{% endif %} {% if unconfigured %}
Ikke konfigureret endnu. Kræver EMBY_URL/EMBY_API_KEY i /etc/portal.env, yt-dlp installeret, og at download-mappen {{ download_dir }} findes i containeren.
{% else %} {% if inv_error %}
⚠ Emby: {{ inv_error }} — oprydningen står stille indtil den kan læse se-data (sikkerhed).
{% endif %} {# ---- hent ny ---- #}
{# ---- topkort ---- #}
I biblioteket
{{ ours|length }}
hentet af portalen · {{ human(ours_size) }}
På vej ud
{{ leaving|length }}
set · i karens
I kø
{{ queued }}
{% if running %}1 i gang{% else %}ingen i gang{% endif %}
Sletning
{% if settings.enabled %}AKTIV{% else %}fra{% endif %}
{{ settings.grace_days }} dages karens
{# ---- indstillinger ---- #}
⚙️ Indstillinger

{# ---- abonnementer ---- #}

Overvågede playlister & kanaler

En playliste henter nye videoer efterhånden som de lægges i den — det der allerede ligger i playlisten, når du opretter overvågningen, hentes ikke. En kanal holder de X nyeste videoer liggende: kommer der en ny, ryger den ældste ud. Favoritter tæller ikke med i X og slettes aldrig, så en favoritering frigør en plads. Manuelle hentninger og playlister tæller heller ikke med.

{% if subs %} {% for sb in subs %} {% endfor %}
NavnTypeCyklus Sidst tjekket
{{ sb.title }}
{{ sb.url }}
{% if sb.kind == 'channel' %}Kanal{% else %}Playliste{% endif %} {% if sb.kind == 'channel' and sb.cycle %} {{ sb.in_cycle }} af {{ sb.cycle }} i cyklus {% if sb.favorites %}
+ {{ sb.favorites }} favorit{% if sb.favorites != 1 %}ter{% endif %} (fredet){% endif %} {% else %} {{ sb.on_disk }} hentet {% endif %}
{% if sb.last_check %}{{ ((now - sb.last_check) / 3600) | round(0) | int }} t siden{% else %}aldrig{% endif %}
{% if sb.kind == 'channel' %}{% endif %}
{% else %}

Ingen overvågninger endnu.

{% endif %} {# ---- vores videoer ---- #}

Hentede videoer

{% if not ours %}

Ingen endnu — indsæt en URL ovenfor.

{% else %} {% for v in ours %} {% endfor %}
TitelStørrelseStatusSlettes
{{ v.name }} {{ human(v.size) }} {% if v.favorite %}★ favorit — fredet {% elif v.played %}set {% else %}ikke set{% endif %} {% if v.favorite %}aldrig {% elif v.delete_after %}om {{ ((v.delete_after - now) / 86400) | round(0, 'ceil') | int }} dage {% else %}—{% endif %}
{% endif %} {# ---- kø & historik ---- #} {% if jobs %}

Kø & historik

{% set fejlede = jobs | selectattr("status", "equalto", "error") | list %} {% if fejlede | length > 1 %}
{% endif %} {% for j in jobs %} {% endfor %}
URL / titelStatusBesked
{{ j.title or j.url }} {% if j.status == 'done' %}hentet {% elif j.status == 'error' %}fejl {% elif j.status == 'running' %}i gang… {% elif j.status == 'deleted' %}slettet {% else %}i kø{% endif %} {{ j.error }}{% if j.note %}{{ ' · ' if j.error }}{{ j.note }}{% endif %} {% if j.status == 'error' %}
{% endif %}
{% endif %} {% if log %}

Log

{% endif %} {% endif %} {% endblock %}