Skip to content

Conversation

@jonocodes
Copy link
Owner

No description provided.

- Remove ruff from apt (not available) and install via pip instead
- Add Python 3.12 installation (required for Django 6.0+)
- Create Python 3.12 virtual environment for isolation
- Reorder pip install before setup.sh (NLTK needs packages installed first)
- Install requirements.txt, requirements-dev.txt, and ruff in venv
The process_media_batch task was using settings.STASHCAST_DEFAULT_YTDLP_ARGS
which doesn't exist. Only _AUDIO and _VIDEO variants are defined.

Fix by using get_ytdlp_args_for_type(resolved_type) helper which returns
the appropriate args based on media type.
@jonocodes jonocodes marked this pull request as ready for review January 17, 2026 01:39
claude and others added 4 commits January 17, 2026 02:19
Add BatchProcessingSettingsTest to verify:
- process_media_batch imports successfully (catches undefined settings)
- get_ytdlp_args_for_type helper returns valid values
- All settings used by batch processing exist

This would catch the undefined STASHCAST_DEFAULT_YTDLP_ARGS bug.
- Add demo_data/transcode-test/audio.ogg test file
- Add TranscodingE2ETest that verifies OGG files are transcoded to M4A
- This exercises the actual ffmpeg transcoding code path

The test would have caught the undefined STASHCAST_DEFAULT_YTDLP_ARGS
bug if transcoding was involved in batch processing.
The command does more than transcoding - it downloads via yt-dlp/HTTP
and only transcodes if needed. 'fetch' better describes its purpose.

- Rename transcode.py to fetch.py
- Update help text to clarify it's standalone (not added to feed)
- Rename docs/TRANSCODE_COMMAND.md to docs/FETCH_COMMAND.md
- Update all documentation references
@jonocodes jonocodes merged commit 399fab9 into main Jan 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants