This commit is contained in:
2026-05-25 22:55:42 +02:00
parent ea742f8172
commit 96a7ee1f5b
2 changed files with 5 additions and 29 deletions
+3 -27
View File
@@ -1,14 +1,11 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Download Manager — Multi-client (UltraCC + lokální qBittorrent)
Smyčka každých N minut pro každý klient:
Download Manager — lokální qBittorrent
Smyčka každých N minut:
1. Dokončené torrenty → odeber z qBittorrentu (data zachovej), zapiš do DB
2. Spočítej volné sloty
3. Doplň nové torrenty dle priority: seeders + velikost
Oba klienti sdílí stejnou DB frontu. Torrent "nárokovaný" jedním klientem
(qb_state='added') nebude nabídnut druhému klientovi.
"""
import pymysql
@@ -23,17 +20,6 @@ from datetime import datetime, timedelta
DEAD_AFTER_HOURS = 72 # progress < 95% po 72h → dead
DEAD_PROGRESS_THRESHOLD = 95.0
STUCK_AFTER_HOURS = 168 # progress >= 95% ale < 100% po 7 dnech → dead
# {
# "name": "UltraCC Seedbox",
# "max_concurrent": 30,
# "qbt": {
# "host": "https://vladob.zen.usbx.me/qbittorrent",
# "username": "vladob",
# "password": "jCni3U6d#y4bfcm",
# "VERIFY_WEBUI_CERTIFICATE": False,
# },
# },
CLIENTS = [
{
"name": "Local qBittorrent",
@@ -45,16 +31,6 @@ CLIENTS = [
"password": "adminadmin",
},
},
{
"name": "UltraCC Seedbox",
"max_concurrent": 30,
"qbt": {
"host": "https://vladob.zen.usbx.me/qbittorrent",
"username": "vladob",
"password": "jCni3U6d#y4bfcm",
"VERIFY_WEBUI_CERTIFICATE": False,
},
},
]
DB_CONFIG = {
@@ -207,7 +183,7 @@ def handle_dead_torrents(qbt, cursor):
cursor.execute("""
UPDATE torrents
SET
qb_state = 'incomplete',
qb_state = 'dead',
qb_progress = %s,
qb_last_update = NOW()
WHERE torrent_hash = %s OR qb_hash = %s
+2 -2
View File
@@ -31,8 +31,8 @@ HOW_MANY_TO_CHECK = 0
COOKIE_FILE = Path("sktorrent_cookies.json")
CATEGORIES = {
24: "Knihy a časopisy",
32: "Mluvené slovo"
23: "Knihy a časopisy",
24: "Mluvené slovo"
}
MAX_PAGES = 10