diff --git a/__pycache__/torrent_vahti.cpython-311.pyc b/__pycache__/torrent_vahti.cpython-311.pyc index 28c5bbc..d6a9893 100644 Binary files a/__pycache__/torrent_vahti.cpython-311.pyc and b/__pycache__/torrent_vahti.cpython-311.pyc differ diff --git a/app.py b/app.py index 98b432b..d92efdf 100644 --- a/app.py +++ b/app.py @@ -66,7 +66,8 @@ def tallenna_asetukset(): "jackett_api_key": data.get('jackett_api_key', ''), "qbit_url": data.get('qbit_url', ''), "qbit_user": data.get('qbit_user', 'admin'), - "qbit_pass": data.get('qbit_pass', '') + "qbit_pass": data.get('qbit_pass', ''), + "haku_vali": int(data.get('haku_vali', 900)) } torrent_vahti.tallenna_kaikki_data(kaikki_data) return jsonify({'status': 'ok'}) @@ -127,13 +128,16 @@ def tyhjenna_loki(): return jsonify({'status': 'ok'}) if __name__ == '__main__': + # Käytetään dynaamista ajastinta asetuksista def automaattinen_ajastin(): while True: - time.sleep(900) + kaikki_data = torrent_vahti.lataa_kaikki_data() + vali = kaikki_data["asetukset"].get("haku_vali", 900) + time.sleep(vali) suorita_haku_prosessi() ajastin_saie = threading.Thread(target=automaattinen_ajastin) ajastin_saie.daemon = True ajastin_saie.start() - app.run(host='0.0.0.0', port=5000) \ No newline at end of file + app.run(host='0.0.0.0', port=5000) diff --git a/hakulista.json b/hakulista.json index 5e99ac8..3955505 100644 --- a/hakulista.json +++ b/hakulista.json @@ -35,6 +35,7 @@ "jackett_api_key": "gtqa5zn9ik93jfyj48y29ot3fayawvo6", "qbit_url": "http://192.168.1.40:8080/", "qbit_user": "admin", - "qbit_pass": "qbt_uFxc7gqD7sJsBk9FJdH38bLIyapr" + "qbit_pass": "qbt_uFxc7gqD7sJsBk9FJdH38bLIyapr", + "haku_vali": 10 } } \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 36790f9..c38e733 100644 --- a/templates/index.html +++ b/templates/index.html @@ -80,14 +80,22 @@
📡 Jackett Asetukset
-
+

Syötä Jackett-palvelimesi osoite ja API-avain (löytyy Jackett-hallintapaneelin yläreunasta).

+

🐾 qBittorrent Asetukset
-
+

qBittorrent Web UI:n yhteystiedot. Varmista, että Web UI on päällä qBittorrentin asetuksista.

+
-
+
+
+
+
⏱️ Ajastinasetukset
+
+ +
@@ -133,10 +141,9 @@ lokiDiv.innerHTML = kaikkiRivit .filter(r => r.toLowerCase().includes(hakuTermi)) .map((r) => { - // Suodatetaan magnet-linkin nimi näkyviin (poistetaan 'dn=' alku ja magnet: linkki) let nimi = r; if (r.includes('dn=')) { - nimi = decodeURIComponent(r.split('dn=')[1].split('&')[0].replace(/\+/g, ' ')); + try { nimi = decodeURIComponent(r.split('dn=')[1].split('&')[0].replace(/\+/g, ' ')); } catch(e) {} } return `
${nimi} @@ -153,6 +160,7 @@ document.getElementById('cfg-qbiturl').value = data.asetukset.qbit_url || ''; document.getElementById('cfg-qbituser').value = data.asetukset.qbit_user || ''; document.getElementById('cfg-qbitpass').value = data.asetukset.qbit_pass || ''; + document.getElementById('cfg-interval').value = data.asetukset.haku_vali || 900; rullaaLokiAlas(); }); @@ -186,7 +194,7 @@ }) }).then(() => { e.target.reset(); paivitaNakyma(); }); }); - document.getElementById('asetukset-form').addEventListener('submit', (e) => { e.preventDefault(); fetch('/tallenna_asetukset', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({jackett_url:document.getElementById('cfg-url').value, jackett_api_key:document.getElementById('cfg-apikey').value, qbit_url:document.getElementById('cfg-qbiturl').value, qbit_user:document.getElementById('cfg-qbituser').value, qbit_pass:document.getElementById('cfg-qbitpass').value})}).then(() => paivitaNakyma()); }); + document.getElementById('asetukset-form').addEventListener('submit', (e) => { e.preventDefault(); fetch('/tallenna_asetukset', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({jackett_url:document.getElementById('cfg-url').value, jackett_api_key:document.getElementById('cfg-apikey').value, qbit_url:document.getElementById('cfg-qbiturl').value, qbit_user:document.getElementById('cfg-qbituser').value, qbit_pass:document.getElementById('cfg-qbitpass').value, haku_vali:document.getElementById('cfg-interval').value})}).then(() => paivitaNakyma()); }); document.getElementById('suorita-haku-btn').addEventListener('click', () => fetch('/suorita_haku', {method:'POST'})); document.getElementById('tyhjenna-loki-btn').addEventListener('click', () => fetch('/tyhjenna_loki', {method:'POST'}).then(() => paivitaNakyma())); diff --git a/torrent_vahti.py b/torrent_vahti.py index 6a81110..c94855e 100644 --- a/torrent_vahti.py +++ b/torrent_vahti.py @@ -17,7 +17,8 @@ def lataa_kaikki_data(): "jackett_api_key": "", "qbit_url": "http://172.16.0.1:8080", "qbit_user": "admin", - "qbit_pass": "" + "qbit_pass": "", + "haku_vali": 900 }, "indeksorit": ["knaben", "torrentgalaxyclone", "therarbg", "uindex"], "hakukohteet": [] @@ -103,7 +104,6 @@ def tarkista_ja_lataa(): print(f"--- ALOITETAAN ERITELTY JACKETT & QBITTORRENT API-HAKU ({time.strftime('%Y-%m-%d %H:%M:%S')}) ---") data = lataa_kaikki_data() ladatut = lataa_jo_ladatut() - # Ma=0, Ti=1, Ke=2, To=3, Pe=4, La=5, Su=6 tanaan = datetime.datetime.now().weekday() jackett_url = data["asetukset"].get("jackett_url", "") @@ -119,10 +119,8 @@ def tarkista_ja_lataa(): return for kohde in hakulista: - # Varmistetaan että "paivat" löytyy, oletuksena kaikki päivät jos ei määritelty sallitut_paivat = kohde.get("paivat", [0, 1, 2, 3, 4, 5, 6]) - # TÄRKEÄ KORJAUS: Tarkistus heti silmukan alussa if tanaan not in sallitut_paivat: print(f" -> HYPPY: {kohde['jackett_haku']} ei sallittu tänään (pvä: {tanaan})") continue