"""
mark_torrents_unwanted.py — Označí celé Tower/Torrents a Tower1/Torrents
jako nechceme (stažený torrent obsah: komiksy, vystřihovánky, speleologie,
porno, textury...). Žádné rodinné originály (ověřeno pixel-hashem + adresáři).

wanted=FALSE, category='Odpad-torrent'

Idempotentní + jedna session, autocommit (žádné paralelní běhy → bez deadlocku).
"""
import sys
import psycopg2

sys.stdout.reconfigure(encoding="utf-8")

DB = dict(host="192.168.1.76", port=5432, user="vladimir.buzalka",
          password="Vlado7309208104++", database="fotky_buzalkovi")

DIRS = [
    ("Tower/Torrents",  "/mnt/user/ZalohaVsechObrazku/Tower/Torrents%"),
    ("Tower1/Torrents", "/mnt/user/ZalohaVsechObrazku/Tower1/Torrents%"),
]

conn = psycopg2.connect(**DB)
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)
cur = conn.cursor()

total = 0
for popis, like in DIRS:
    cur.execute("""
        UPDATE photos p
        SET wanted   = FALSE,
            category = 'Odpad-torrent'
        FROM zaloha_obrazku z
        WHERE p.zaloha_id = z.id
          AND z.cesta_zalohy LIKE %s
          AND p.category IS DISTINCT FROM 'Odpad-torrent'
    """, (like,))
    print(f"  {popis}: {cur.rowcount:,} řádků")
    total += cur.rowcount

print(f"\nHotovo. Celkem: {total:,} řádků → wanted=FALSE, category='Odpad-torrent'")
conn.close()
