From e7789fce199ce6bbdf813d1cd0531305d138d24b Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sat, 26 Sep 2026 14:06:39 +0600 Subject: [PATCH] [2026-09-26] eagle: personal/plans/spotify-export-2026-09-26.md --- personal/plans/spotify-export-2026-09-26.md | 66 +++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 personal/plans/spotify-export-2026-09-26.md diff --git a/personal/plans/spotify-export-2026-09-26.md b/personal/plans/spotify-export-2026-09-26.md new file mode 100644 index 00000000..891ca13c --- /dev/null +++ b/personal/plans/spotify-export-2026-09-26.md @@ -0,0 +1,66 @@ +# План: выгрузка Spotify в Obsidian + +> Создан: 2026-09-26 | Статус: **в работе** +> Контекст: Spotify-тулзет снова работает после `hermes auth spotify`. +> Счётчики проверены живыми запросами. + +--- + +## Цель + +Обновить `personal/spotify-library.md` полными данными (сейчас там версия от 2026-05-12 — устарела). + +## Что выгружаем + +| Раздел | Кол-во | Endpoint | +|---|---|---| +| 🎵 Лайкнутые треки | **182** | `GET /me/tracks` (пагинация по 50) | +| 📂 Плейлисты | **8** | `GET /me/playlists` → `GET /playlists/{id}/items` | +| 📻 Recently played | 50 | `GET /me/player/recently-played` | +| 💽 Сохранённые альбомы | **42** | `GET /me/albums` (пагинация по 50) | + +### 8 плейлистов (владелец — только свои) + +| Плейлист | Треков | Владелец | +|---|---|---| +| Мои треки Shazam | 38 | Alex | +| Мексика🌮 | 38 | Alex | +| Shazamed | 94 | Alex | +| Норм плейлист | 0 | Alex | +| Punch's Pet Playlist | 30 | Alex | +| Rock | 22 | Alex | +| This Is Hard Boogie | 36 | Bad Boombox — **чужой** | +| gaming lofi beats | 256 | bits & hits — **чужой** | + +Чужие плейлисты — выгрузить только шапку (название, ссылка, кол-во), треки не тянуть (256 треков чужого плейлиста = мусор). + +--- + +## Шаги + +1. **Бэкап** — скопировать `personal/spotify-library.md` → `personal/spotify-library.md.bak-2026-09-26` +2. Лайки: 4 страницы по 50 (`offset=0,50,100,150`) +3. Плейлисты: 6 своих, треки постранично (`/items`, по 50) +4. Recently played: 50 +5. Альбомы: 1 страница по 50 +6. Собрать markdown через `jq` (без TSV-промежутков — см. pitfalls) +7. Записать в vault, обновить `personal/index.md` + +--- + +## Pitfalls (перенос из Яндекс-выгрузки) + +- **Не гонять через промежуточный TSV** — табы экранируются. Join целиком в `jq`. +- **JSONL vs JSON** — при чтении пагинации нужен `jq -s`. +- **`mcp_obsidian_write_note` не тянет >100KB** — копировать файл напрямую в vault. +- **`execute_code` и inline-`python3` требуют апрува** — только bash + jq + curl. +- **Spotify API не даёт полную историю** — `recently-played` максимум 50 треков и только за последние сутки. Полная история — только через `spotify.com/account/privacy` → Request data. + +--- + +## Проверка + +```bash +grep -c "^| [0-9]" file.md # строк данных +grep -c "||" file.md # должно быть 0 +```