2d7243332d
Move six scripts that are not wired into the app, scheduler, or web UI out of the active pipeline/lib into pipeline/lib/manual, so the scheduled scripts are easy to see and these stay available for hands-on use: convert-m4a.sh, fix-empty-album.sh, backfill-spotify-tags.sh, backfill-buy-url.py, recover-azuracast-playlists.py, import-dj-collection.py. Adds a README explaining each, and extends the Dockerfile chmod to cover the new folder. Nothing referenced these from active code (verified), so no wiring changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
# Manual / archived scripts
|
|
|
|
These scripts are kept for occasional hands-on use but are **not** wired into
|
|
the app, the scheduler, or the web UI. Nothing here runs automatically. They
|
|
live outside `pipeline/lib/` so the active, scheduled scripts there stay easy
|
|
to see at a glance.
|
|
|
|
Run one by hand inside the container when you actually need it, e.g.:
|
|
|
|
```bash
|
|
docker exec -it alembic bash /app/pipeline/lib/manual/convert-m4a.sh
|
|
docker exec -it alembic python /app/pipeline/lib/manual/import-dj-collection.py --help
|
|
```
|
|
|
|
What's here and why it's manual-only:
|
|
|
|
- **convert-m4a.sh** — one-off bulk M4A to FLAC/MP3 conversion. Not part of the
|
|
normal download flow.
|
|
- **fix-empty-album.sh** — repairs tracks with an empty album tag. A cleanup
|
|
tool for a specific past problem, not a recurring job.
|
|
- **backfill-spotify-tags.sh** — re-pulls Spotify tags for already-imported
|
|
tracks. A migration/backfill aid.
|
|
- **backfill-buy-url.py** — one-time backfill of buy-link tags across the
|
|
library (the scheduled `enrich-buy-url.py` handles new tracks going forward).
|
|
- **recover-azuracast-playlists.py** — rebuilds AzuraCast playlist assignments
|
|
after a GROUPING-tag loss. Recovery tool, only relevant if you run AzuraCast.
|
|
- **import-dj-collection.py** — bulk-imports a personal DJ set collection with
|
|
fingerprint dedup against the existing library. A large one-off importer.
|
|
|
|
These have not all been hardened with `set -euo pipefail`; treat them as
|
|
run-and-watch tools rather than unattended automation.
|