hakujen välisen ajan säätö lisätty
This commit is contained in:
Binary file not shown.
@@ -66,7 +66,8 @@ def tallenna_asetukset():
|
|||||||
"jackett_api_key": data.get('jackett_api_key', ''),
|
"jackett_api_key": data.get('jackett_api_key', ''),
|
||||||
"qbit_url": data.get('qbit_url', ''),
|
"qbit_url": data.get('qbit_url', ''),
|
||||||
"qbit_user": data.get('qbit_user', 'admin'),
|
"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)
|
torrent_vahti.tallenna_kaikki_data(kaikki_data)
|
||||||
return jsonify({'status': 'ok'})
|
return jsonify({'status': 'ok'})
|
||||||
@@ -127,13 +128,16 @@ def tyhjenna_loki():
|
|||||||
return jsonify({'status': 'ok'})
|
return jsonify({'status': 'ok'})
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
# Käytetään dynaamista ajastinta asetuksista
|
||||||
def automaattinen_ajastin():
|
def automaattinen_ajastin():
|
||||||
while True:
|
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()
|
suorita_haku_prosessi()
|
||||||
|
|
||||||
ajastin_saie = threading.Thread(target=automaattinen_ajastin)
|
ajastin_saie = threading.Thread(target=automaattinen_ajastin)
|
||||||
ajastin_saie.daemon = True
|
ajastin_saie.daemon = True
|
||||||
ajastin_saie.start()
|
ajastin_saie.start()
|
||||||
|
|
||||||
app.run(host='0.0.0.0', port=5000)
|
app.run(host='0.0.0.0', port=5000)
|
||||||
|
|||||||
+2
-1
@@ -35,6 +35,7 @@
|
|||||||
"jackett_api_key": "gtqa5zn9ik93jfyj48y29ot3fayawvo6",
|
"jackett_api_key": "gtqa5zn9ik93jfyj48y29ot3fayawvo6",
|
||||||
"qbit_url": "http://192.168.1.40:8080/",
|
"qbit_url": "http://192.168.1.40:8080/",
|
||||||
"qbit_user": "admin",
|
"qbit_user": "admin",
|
||||||
"qbit_pass": "qbt_uFxc7gqD7sJsBk9FJdH38bLIyapr"
|
"qbit_pass": "qbt_uFxc7gqD7sJsBk9FJdH38bLIyapr",
|
||||||
|
"haku_vali": 10
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+14
-6
@@ -80,14 +80,22 @@
|
|||||||
<div class="card p-4">
|
<div class="card p-4">
|
||||||
<form id="asetukset-form">
|
<form id="asetukset-form">
|
||||||
<h6 class="fw-bold mb-3 text-primary">📡 Jackett Asetukset</h6>
|
<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>
|
<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">
|
<hr class="my-4">
|
||||||
<h6 class="fw-bold mb-3 text-success">🐾 qBittorrent Asetukset</h6>
|
<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="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-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>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary btn-sm mt-3">Tallenna kaikki asetukset</button>
|
<button type="submit" class="btn btn-primary btn-sm mt-3">Tallenna kaikki asetukset</button>
|
||||||
</form>
|
</form>
|
||||||
@@ -133,10 +141,9 @@
|
|||||||
lokiDiv.innerHTML = kaikkiRivit
|
lokiDiv.innerHTML = kaikkiRivit
|
||||||
.filter(r => r.toLowerCase().includes(hakuTermi))
|
.filter(r => r.toLowerCase().includes(hakuTermi))
|
||||||
.map((r) => {
|
.map((r) => {
|
||||||
// Suodatetaan magnet-linkin nimi näkyviin (poistetaan 'dn=' alku ja magnet: linkki)
|
|
||||||
let nimi = r;
|
let nimi = r;
|
||||||
if (r.includes('dn=')) {
|
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">
|
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>
|
<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-qbiturl').value = data.asetukset.qbit_url || '';
|
||||||
document.getElementById('cfg-qbituser').value = data.asetukset.qbit_user || '';
|
document.getElementById('cfg-qbituser').value = data.asetukset.qbit_user || '';
|
||||||
document.getElementById('cfg-qbitpass').value = data.asetukset.qbit_pass || '';
|
document.getElementById('cfg-qbitpass').value = data.asetukset.qbit_pass || '';
|
||||||
|
document.getElementById('cfg-interval').value = data.asetukset.haku_vali || 900;
|
||||||
|
|
||||||
rullaaLokiAlas();
|
rullaaLokiAlas();
|
||||||
});
|
});
|
||||||
@@ -186,7 +194,7 @@
|
|||||||
})
|
})
|
||||||
}).then(() => { e.target.reset(); paivitaNakyma(); });
|
}).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('suorita-haku-btn').addEventListener('click', () => fetch('/suorita_haku', {method:'POST'}));
|
||||||
document.getElementById('tyhjenna-loki-btn').addEventListener('click', () => fetch('/tyhjenna_loki', {method:'POST'}).then(() => paivitaNakyma()));
|
document.getElementById('tyhjenna-loki-btn').addEventListener('click', () => fetch('/tyhjenna_loki', {method:'POST'}).then(() => paivitaNakyma()));
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -17,7 +17,8 @@ def lataa_kaikki_data():
|
|||||||
"jackett_api_key": "",
|
"jackett_api_key": "",
|
||||||
"qbit_url": "http://172.16.0.1:8080",
|
"qbit_url": "http://172.16.0.1:8080",
|
||||||
"qbit_user": "admin",
|
"qbit_user": "admin",
|
||||||
"qbit_pass": ""
|
"qbit_pass": "",
|
||||||
|
"haku_vali": 900
|
||||||
},
|
},
|
||||||
"indeksorit": ["knaben", "torrentgalaxyclone", "therarbg", "uindex"],
|
"indeksorit": ["knaben", "torrentgalaxyclone", "therarbg", "uindex"],
|
||||||
"hakukohteet": []
|
"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')}) ---")
|
print(f"--- ALOITETAAN ERITELTY JACKETT & QBITTORRENT API-HAKU ({time.strftime('%Y-%m-%d %H:%M:%S')}) ---")
|
||||||
data = lataa_kaikki_data()
|
data = lataa_kaikki_data()
|
||||||
ladatut = lataa_jo_ladatut()
|
ladatut = lataa_jo_ladatut()
|
||||||
# Ma=0, Ti=1, Ke=2, To=3, Pe=4, La=5, Su=6
|
|
||||||
tanaan = datetime.datetime.now().weekday()
|
tanaan = datetime.datetime.now().weekday()
|
||||||
|
|
||||||
jackett_url = data["asetukset"].get("jackett_url", "")
|
jackett_url = data["asetukset"].get("jackett_url", "")
|
||||||
@@ -119,10 +119,8 @@ def tarkista_ja_lataa():
|
|||||||
return
|
return
|
||||||
|
|
||||||
for kohde in hakulista:
|
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])
|
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:
|
if tanaan not in sallitut_paivat:
|
||||||
print(f" -> HYPPY: {kohde['jackett_haku']} ei sallittu tänään (pvä: {tanaan})")
|
print(f" -> HYPPY: {kohde['jackett_haku']} ei sallittu tänään (pvä: {tanaan})")
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user