hakujen välisen ajan säätö lisätty

This commit is contained in:
Tontze
2026-06-17 07:45:13 +03:00
parent 4af93d1add
commit 0c06e012d3
5 changed files with 25 additions and 14 deletions
Binary file not shown.
+6 -2
View File
@@ -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,9 +128,12 @@ 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)
+2 -1
View File
@@ -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
}
}
+14 -6
View File
@@ -80,14 +80,22 @@
<div class="card p-4">
<form id="asetukset-form">
<h6 class="fw-bold mb-3 text-primary">📡 Jackett Asetukset</h6>
<div class="mb-3"><input type="url" id="cfg-url" class="form-control form-control-sm" placeholder="Jackett URL"></div>
<p class="small text-muted">Syötä Jackett-palvelimesi osoite ja API-avain (löytyy Jackett-hallintapaneelin yläreunasta).</p>
<div class="mb-3"><input type="url" id="cfg-url" class="form-control form-control-sm" placeholder="Jackett URL (esim. http://192.168.1.1:9117)"></div>
<div class="mb-4"><input type="text" id="cfg-apikey" class="form-control form-control-sm" placeholder="Jackett API-avain"></div>
<hr class="my-4">
<h6 class="fw-bold mb-3 text-success">🐾 qBittorrent Asetukset</h6>
<div class="mb-2"><input type="url" id="cfg-qbiturl" class="form-control form-control-sm" placeholder="Web UI URL"></div>
<p class="small text-muted">qBittorrent Web UI:n yhteystiedot. Varmista, että Web UI on päällä qBittorrentin asetuksista.</p>
<div class="mb-2"><input type="url" id="cfg-qbiturl" class="form-control form-control-sm" placeholder="Web UI URL (esim. http://192.168.1.1:8080)"></div>
<div class="row mb-2">
<div class="col-sm-6"><input type="text" id="cfg-qbituser" class="form-control form-control-sm" placeholder="Käyttäjätunnus"></div>
<div class="col-sm-6"><input type="text" id="cfg-qbitpass" class="form-control form-control-sm" placeholder="Salasana/API"></div>
<div class="col-sm-6"><input type="text" id="cfg-qbitpass" class="form-control form-control-sm" placeholder="Salasana tai API-avain"></div>
</div>
<hr class="my-4">
<h6 class="fw-bold mb-3 text-info">⏱️ Ajastinasetukset</h6>
<div class="mb-3">
<label class="small">Automaattisen haun väli (sekunteina):</label>
<input type="number" id="cfg-interval" class="form-control form-control-sm" placeholder="900">
</div>
<button type="submit" class="btn btn-primary btn-sm mt-3">Tallenna kaikki asetukset</button>
</form>
@@ -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 `<div class="d-flex justify-content-between border-bottom py-1">
<span class="font-monospace small text-truncate" style="max-width: 80%;" title="${r}">${nimi}</span>
@@ -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()));
+2 -4
View File
@@ -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