Об этом проекте

Проект выполняет перенос оценённых эпизодов сериалов с Sdílej.cz на Přehraj.to. Он только читает каталог сериалов и эпизодов из производственной базы данных CR; для каждого эпизода находит источник, проверяет совпадение метки SxxExx, качество и язык, выбирает наименьший подходящий файл наивысшего доступного уровня качества и переносит его напрямую в назначение. Видео не сохраняется на runner. Граница безопасности: подключение к базе данных открывается только для чтения, и SHOW transaction_read_only проверяется перед каждым экспортом; проект не содержит SQL для записи. Учётные данные хранятся исключительно в секретах CI (DATABASE_URL, SDILEJ_EMAIL, SDILEJ_PASSWORD, PREHRAJTO_EMAIL, PREHRAJTO_PASSWORD). Целевая учётная запись проверяется по PREHRAJTO_EMAIL и должна быть share.series@email.cz. Стабильный манифест не хранит временные авторизованные URL для загрузки, а pilot-upload требует SHA созданного плана; непрерывная загрузка не входит в первое развёртывание. Портативный манифест: каждый проверенный источник постоянно сохраняется в manifests/selected-episodes.jsonl, по одной JSON-строке на эпизод, с идентификацией, метаданными, выбранными качеством и языком, целевым display_name и selected.url (страница видео на Sdílej.cz, с которой во время переноса повторно получается актуальный адрес авторизованного потока). Временные URL CDN, загрузки или примеров не сохраняются. Манифест не зависит от целевой учётной записи, а запись не удаляется после загрузки, поэтому его можно использовать в другой сессии или для другого разрешённого назначения. Статус загрузки и атомарные резервирования воркеров хранятся отдельно в state/episodes.json; для другого назначения требуется отдельный файл состояния. Первый безопасный запуск: задайте секреты, запустите pilot-plan с series_limit=1 и episode_limit=1, изучите plans/pilot-plan.json, запустите pilot-upload с тем же SHA и одним эпизодом, проверьте целевое видео и только затем увеличивайте пакет. Локальная проверка: python -m venv .venv, установите .[test] и запустите pytest. Подготовка реального источника требует FFmpeg, faster-whisper и переменных окружения, соответствующих секретам CI; экспорт каталога работает без Whisper.