64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
import pymysql
|
|
import pymysql.cursors
|
|
|
|
|
|
def get_unfinished_torrents():
|
|
# Konfigurace připojení
|
|
connection_config = {
|
|
'host': '192.168.1.76',
|
|
'user': 'root',
|
|
'password': 'Vlado9674+',
|
|
'database': 'torrents',
|
|
'port': 3307,
|
|
'cursorclass': pymysql.cursors.DictCursor # Vrací výsledky jako slovník
|
|
}
|
|
|
|
try:
|
|
# Navázání spojení
|
|
connection = pymysql.connect(**connection_config)
|
|
|
|
with connection.cursor() as cursor:
|
|
# SQL Dotaz
|
|
sql = """
|
|
SELECT
|
|
title_visible,
|
|
qb_progress,
|
|
qb_state,
|
|
size_pretty,
|
|
added_datetime
|
|
FROM torrents
|
|
WHERE qb_added = 1
|
|
AND qb_progress < 1
|
|
AND qb_state NOT IN ('seeding', 'uploading', 'stalledUP', 'pausedUP', 'completed')
|
|
ORDER BY qb_progress DESC;
|
|
"""
|
|
|
|
cursor.execute(sql)
|
|
results = cursor.fetchall()
|
|
|
|
print(f"\n--- NEDOKONČENÉ TORRENTY (Port {connection_config['port']}) ---")
|
|
|
|
if not results:
|
|
print("Vše je hotovo nebo nic neběží.")
|
|
else:
|
|
for row in results:
|
|
# Předpokládáme, že qb_progress je float (0.0 až 1.0)
|
|
progress_pct = row['qb_progress'] * 100
|
|
|
|
print(f"Torrent: {row['title_visible']}")
|
|
print(f"Stav: {row['qb_state']}")
|
|
print(f"Pokrok: {progress_pct:.2f}%")
|
|
print(f"Velikost: {row['size_pretty']}")
|
|
print("-" * 40)
|
|
|
|
except pymysql.MySQLError as e:
|
|
print(f"Chyba při komunikaci s DB: {e}")
|
|
|
|
finally:
|
|
if 'connection' in locals():
|
|
connection.close()
|
|
print("Spojení s databází bylo uzavřeno.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
get_unfinished_torrents() |