git
This commit is contained in:
+3
-27
@@ -1,14 +1,11 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
"""
|
"""
|
||||||
Download Manager — Multi-client (UltraCC + lokální qBittorrent)
|
Download Manager — lokální qBittorrent
|
||||||
Smyčka každých N minut pro každý klient:
|
Smyčka každých N minut:
|
||||||
1. Dokončené torrenty → odeber z qBittorrentu (data zachovej), zapiš do DB
|
1. Dokončené torrenty → odeber z qBittorrentu (data zachovej), zapiš do DB
|
||||||
2. Spočítej volné sloty
|
2. Spočítej volné sloty
|
||||||
3. Doplň nové torrenty dle priority: seeders + velikost
|
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
|
import pymysql
|
||||||
@@ -23,17 +20,6 @@ from datetime import datetime, timedelta
|
|||||||
DEAD_AFTER_HOURS = 72 # progress < 95% po 72h → dead
|
DEAD_AFTER_HOURS = 72 # progress < 95% po 72h → dead
|
||||||
DEAD_PROGRESS_THRESHOLD = 95.0
|
DEAD_PROGRESS_THRESHOLD = 95.0
|
||||||
STUCK_AFTER_HOURS = 168 # progress >= 95% ale < 100% po 7 dnech → dead
|
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 = [
|
CLIENTS = [
|
||||||
{
|
{
|
||||||
"name": "Local qBittorrent",
|
"name": "Local qBittorrent",
|
||||||
@@ -45,16 +31,6 @@ CLIENTS = [
|
|||||||
"password": "adminadmin",
|
"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 = {
|
DB_CONFIG = {
|
||||||
@@ -207,7 +183,7 @@ def handle_dead_torrents(qbt, cursor):
|
|||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
UPDATE torrents
|
UPDATE torrents
|
||||||
SET
|
SET
|
||||||
qb_state = 'incomplete',
|
qb_state = 'dead',
|
||||||
qb_progress = %s,
|
qb_progress = %s,
|
||||||
qb_last_update = NOW()
|
qb_last_update = NOW()
|
||||||
WHERE torrent_hash = %s OR qb_hash = %s
|
WHERE torrent_hash = %s OR qb_hash = %s
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ HOW_MANY_TO_CHECK = 0
|
|||||||
COOKIE_FILE = Path("sktorrent_cookies.json")
|
COOKIE_FILE = Path("sktorrent_cookies.json")
|
||||||
|
|
||||||
CATEGORIES = {
|
CATEGORIES = {
|
||||||
24: "Knihy a časopisy",
|
23: "Knihy a časopisy",
|
||||||
32: "Mluvené slovo"
|
24: "Mluvené slovo"
|
||||||
}
|
}
|
||||||
MAX_PAGES = 10
|
MAX_PAGES = 10
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user