Sobre el proyecto
El proyecto gestiona la transferencia de episodios de series calificados desde Sdílej.cz a Přehraj.to. Solo lee el catálogo de series y episodios desde la base de datos de producción de CR; para cada episodio encuentra una fuente, verifica la coincidencia de la etiqueta SxxExx, la calidad y el idioma, selecciona el archivo adecuado más pequeño del nivel de calidad más alto disponible y lo transfiere directamente al destino. El vídeo no se almacena en el runner.
Límite de seguridad: la conexión a la base de datos se abre en modo solo lectura y se verifica SHOW transaction_read_only antes de cada exportación; el proyecto no contiene SQL de escritura. Las credenciales pertenecen exclusivamente a los secretos de CI (DATABASE_URL, SDILEJ_EMAIL, SDILEJ_PASSWORD, PREHRAJTO_EMAIL, PREHRAJTO_PASSWORD). La cuenta de destino se comprueba frente a PREHRAJTO_EMAIL y debe ser share.series@email.cz. El manifiesto estable no almacena URL de descarga autorizadas temporales y la carga piloto requiere el SHA del plan creado; la carga continua no forma parte del primer despliegue.
Manifiesto portátil: cada fuente verificada se guarda continuamente en manifests/selected-episodes.jsonl, una línea JSON por episodio, con identidad, metadatos, calidad e idioma elegidos, display_name de destino y selected.url (el detalle del vídeo en Sdílej.cz, desde el cual se vuelve a obtener la dirección de flujo autorizada actual durante la transferencia). No se almacenan URL temporales de CDN, descarga o muestras. El manifiesto es independiente de la cuenta de destino y el registro no se elimina tras la carga, por lo que puede usarse en otra sesión o para otro destino permitido. El estado de carga y las reservas atómicas de los trabajadores se mantienen por separado en state/episodes.json; se necesita un archivo de estado independiente para otro destino.
Primera ejecución segura: establezca los secretos, ejecute pilot-plan con series_limit=1 y episode_limit=1, examine plans/pilot-plan.json, ejecute pilot-upload con el mismo SHA y un episodio, verifique el vídeo de destino y solo entonces aumente el lote. Verificación local: python -m venv .venv, instale .[test] y pytest. La preparación real de fuentes requiere FFmpeg, faster-whisper y variables de entorno que coincidan con los secretos de CI; la exportación del catálogo funciona sin Whisper.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.