5 Commits

Author SHA1 Message Date
3ce8fa0080 Integrate dead torrent cleanup into Manager loop
Move dead torrent detection logic from 50 MrtveTorrenty.py into 70 Manager.py as step 1b, so the manager handles completed, dead, and new torrents in a single run cycle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-18 13:54:35 +01:00
197cb3f8db z230 2026-03-03 14:27:37 +01:00
b37db5397e Fix handle_completed — guard against invalid completion_on timestamp
qBittorrent returns completion_on = -1 for torrents that were never
completed. datetime.fromtimestamp(-1) throws OSError on Windows.
Added explicit check for negative values and try/except for safety.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 07:02:21 +01:00
15b498ca55 Refactor 70 Manager.py — multi-client support + scheduled task mode
- Add CLIENTS list: UltraCC Seedbox (max 20) + Local qBittorrent (max 20)
- Add 'added' to SELECT_NEXT exclusion list to prevent two clients
  claiming the same torrent from the shared DB queue
- Add qb_client column tracking — each torrent records which client
  downloaded it; per-client stats shown at startup
- Extract process_client() to encapsulate steps 1-3 per client
- Remove continuous loop and sleep — script runs once and exits,
  designed to be triggered by a scheduled task

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 20:32:57 +01:00
7646f6f68f Add Seedbox/70 Manager.py — continuous download manager for UltraCC 2026-03-01 12:15:49 +01:00