nkbmusic/tools/README.md
metatroncubeswdev 178d2d00ab Nanga Kathai: Flutter app, self-hosted backend and song tools
- Flutter app (Android/iOS): home, explore, albums, search, player with
  equalizer, mini player, sign up/sign in with email codes, profile,
  encrypted offline downloads, About page
- server/: one-command deploy of self-hosted Supabase behind HestiaCP/nginx
  (or Caddy), migrations, backups, email templates
- supabase/migrations: schema, row-level security, profiles
- tools/: song scanner and importer

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 10:39:26 -04:00

22 lines
1.1 KiB
Markdown

# Song import
1. **Scan** (already run once; run again if you add files to `songs/`; it overwrites the CSV, so save your edits under another name first):
```sh
pip install mutagen
python tools/scan_songs.py songs songs_manifest.csv
```
2. **Review** `songs_manifest.csv` in Excel:
- `title`: required. Songs without a title are skipped.
- `singers`: separate names with commas (`Gowtham, Bharathi`). It can stay empty; the app then shows "Singer not credited yet".
- `occasion`: one of `huttu habba madhuvae devotional folk saavu instrumental`.
- `include`: `yes` or `no`. Duplicates and the `old hits` folder (Tamil film songs) start as `no`.
- `notes` says what needs a look. Save as **CSV UTF-8**.
3. **Check**: `python tools/import_songs.py --dry-run`
4. **Import** (the server must be running and the migrations applied):
```sh
set NK_URL=https://app.nkbmusic.com
set NK_SERVICE_KEY=<SERVICE_ROLE_KEY from the server .env>
python tools/import_songs.py # pending; add --approve to publish now
```
Re-running skips songs already imported, so you can import in batches as you finish reviewing.