[2026-09-27] eagle: personal/plans/music-artist-albumartist-repair.md personal/tech/music-tags-repair-truenas.md
This commit is contained in:
1 parent
f3c44270c5
commit
c8778307e9
2 files changed
+179
-2
No files matched your search
@@ -23,7 +23,42 @@ related:
|
||||
|
||||
# Music Tags Repair — TrueNAS (7906 → 7905 файлов)
|
||||
|
||||
> ## 🔴 АКТУАЛЬНОЕ СОСТОЯНИЕ (2026-09-27, сессия 29-секси) — ЧИТАЙ ЭТО ПЕРВЫМ
|
||||
> ## 🔴 АКТУАЛЬНОЕ СОСТОЯНИЕ (2026-09-27, сессия 29-ОКТИ) — ЧИТАЙ ЭТО ПЕРВЫМ
|
||||
>
|
||||
> ✅ **КАНОННЫЙ ДИФФ v3 СОБРАН:** `~/Downloads/music-tags/DIFF-base-vs-applyplan-v3.csv`
|
||||
> — **1062 записи** (710 ПАПКА + 352 ТРЕК), из них `genre` 911 · `track` 118 · `album` 27 ·
|
||||
> `albumartist` 6. База 7861 ↔ план 7861, сопоставлено 7861, **не найдено 0**.
|
||||
> Источник: `/tmp/apply-plan-v3.csv` (7861, собран из `new_*` `APPLY-PLAN.csv` + правило
|
||||
> корня; **31 правка**, лог с колонкой `reason` — `~/Downloads/music-tags/APPLY-PLAN-v3-changes.csv`).
|
||||
> Сборщик: `/tmp/build_canon_diff_v3.py`.
|
||||
>
|
||||
> 🔴 **ДЕФЕКТ СОРТИРОВКИ (найден Alex: «почему сортировки по филду нету в диффе») — ИСПРАВЛЕН.**
|
||||
> Сортировка обязана быть **ПО АЛФАВИТУ**: `album → albumartist → artist → genre → title → track`,
|
||||
> т.е. **`album` ПЕРЕД `albumartist`**. Скрипт писался с нуля и взял ЛОГИЧЕСКИЙ список
|
||||
> (`title, artist, albumartist, album, genre, track`) → давал `albumartist → album → …`.
|
||||
> Знание из сессии 11 не было перенесено в код. **Любой новый генератор дифа:
|
||||
> `sorted({...})`, НЕ список в порядке объявления.** Разбор —
|
||||
> [[personal/plans/music-artist-albumartist-repair]] § СОРТИРОВКА ПО `field` — АЛФАВИТНАЯ.
|
||||
>
|
||||
> ⚠️ **ОТКРЫТО (2 дефекта верификации v3-диффа):**
|
||||
> 1. `!Детские/Из чего же.mp3` — `album` в БД `[Unknown Album]` → `new` в диффе **пусто**
|
||||
> (потеря значения, не правило корня).
|
||||
> 2. `Sbornik_Novij_Rok` — сборник, `genre` не одно значение (`Folk/Pop/Rock/Punk/Rap`) →
|
||||
> N ПАПКА-строк по одному полю. Схлопывание `(folder, field, new)` на сборниках
|
||||
> разваливается; нужно решение Alex.
|
||||
>
|
||||
> ✅ **ВЕРИФИЦИРОВАН «короткий список опечаток» — все 6 правок УЖЕ в `APPLY-PLAN.csv`**
|
||||
> (Простоквашено 0 · Агата кристи 0 · 11 Track 11 0 · IM-склейка 0 · `Radio - ` 0 ·
|
||||
> Бард - Авангард 0 в `new_*`). v3-генератор их наследует автоматически, как и задумано
|
||||
> архитектурой «от `new_*`, не с нуля». Скрипт проверки: `/tmp/check_shortlist_full.py`.
|
||||
> 🔑 **ПИТФОЛЛ: `grep` по ВСЕМУ CSV даёт ложную тревогу «правки откатились»** — опечатки
|
||||
> живут в колонке `title` (название песни). Проверять ТОЛЬКО по колонке через CSV-парсер.
|
||||
> `Муммий` в `new_*` = 0 (в тегах `Мумий Тролль`), в `path` = 88 (имя папки на диске;
|
||||
> **продукт не трогается — переименование папок не входило в задачу**).
|
||||
>
|
||||
> Подробно — [[personal/plans/music-artist-albumartist-repair]] § СЕССИЯ 29-ОКТИ / 29-СЕПТИ.
|
||||
|
||||
> ## 🗄️ ПРЕДЫДУЩЕЕ СОСТОЯНИЕ (сессия 29-секси) — АРХИВ
|
||||
>
|
||||
> 🔴 **ГЕНЕРАТОР ПЛАНА НАЙДЕН И ПОФИКШЕН: `~/Developer/personal-os/tools/music-tags/build_fix_plan2.py`**
|
||||
> Вызов: `python3 build_fix_plan2.py INVENTORY.csv OUT.csv [HOST_ROOT]`. Ищется **только через
|
||||
@@ -134,6 +169,14 @@ related:
|
||||
|
||||
> 🔑 **ПИТФОЛЛ: «Чёрный кот» пишется через Ё** — `grep "черный кот"` даёт 0 и создаёт
|
||||
> ложное «файла нет». Правило: искать и через `ё`, и через `е`, и без гласной.
|
||||
> 🔴 **ПИТФОЛЛ (сессия 29-септи): `grep` ПО CSV ДАЁТ ЛОЖНУЮ ТРЕВОГУ «правки откатились».**
|
||||
> `grep -c "Простоквашено" APPLY-PLAN.csv` → 2, `"Бард - Авангард"` → 18 — и это **не** откат:
|
||||
> опечатки живут в колонке **`title`** (название песни), а правка — в `new_artist`/`new_album`.
|
||||
> «Стоит ли правка в файле» проверяется **по КОЛОНКЕ через CSV-парсер**, не `grep` по файлу
|
||||
> (`/tmp/check_shortlist_full.py`). Тот же класс, что `awk -F','` по путям с запятыми и
|
||||
> `grep -c ',yes$'`. **Итог проверки: все 6 правок короткого списка опечаток НА МЕСТЕ в
|
||||
> `APPLY-PLAN.csv`** (Простоквашено/Агата кристи/`11 Track 11`/IM-склейка/`Radio -`/`Бард-авангард`),
|
||||
> `Муммий` в тегах **отсутствует** (там `Мумий Тролль`) — опечатка только в имени папки, 88 файлов.
|
||||
> 🔴 **Питфолл БД:** колонка — **`track_number`**, не `track`; возвращается **int**;
|
||||
> `0` = «номер не проставлен».
|
||||
> ✅ Класс **«`albumartist` размножен от чужого файла в корне папки»** — ИСПРАВЛЕН (7 папок, 40 строк).
|
||||
|
||||
Reference in new issue
Block a user