soulsync/core/downloads
Broque Thomas 599426dbaf Lift _process_failed_tracks_to_wishlist_exact to core/downloads/wishlist_failed.py
Body byte-identical to the original. Wishlist helpers come from
core.wishlist.* directly (aliased to the same names the body uses);
runtime state from core.runtime_state. automation_engine,
soulseek_client, and _sweep_empty_download_directories are injected
via init() right after _init_download_validation.

web_server.py: 35408 → 35239 (-169 lines).
2026-04-30 11:03:44 -07:00
..
__init__.py
cancel.py
candidates.py
cleanup.py
history.py
lifecycle.py
master.py
monitor.py
post_processing.py
staging.py
status.py
task_worker.py
validation.py
wishlist_failed.py