- Handlers parse IDs like kp_123 / tmdb_456 and set id_type accordingly
- Add KP->Unified and TMDB->Unified movie mappers (basic fields)
- Keep backward compatibility for numeric IDs
- Movies/TV: if id_type=kp, fetch only from Kinopoisk (with TMDB->KP conversion)
- Movies/TV: if id_type=tmdb, fetch only from TMDB
- Default (no id_type): keep language-based behavior
- README: redact example tokens/keys with placeholders
Prevents wrong provider data when opened from search links with id_type.
ПРОБЛЕМА:
- При id_type='kp' код делал fallback на TMDB если фильм не найден
- Если передан TMDB ID с id_type='kp', возвращались данные из TMDB
- Нарушалась явная логика выбора источника
РЕШЕНИЕ:
1. Убран автоматический fallback на TMDB при id_type='kp'
2. Добавлена конвертация ID:
- Если id_type='kp' и фильм не найден напрямую
- Пробуем конвертировать TMDB ID → KP ID через TmdbIdToKPId
- Запрашиваем данные по сконвертированному KP ID
3. Если конвертация не удалась → возвращаем ошибку
ЛОГИКА:
- id_type='kp' + ID=550 (TMDB):
1. Поиск KP фильма с id=550 → не найдено
2. Конвертация 550 (TMDB) → получаем KP ID (например 326)
3. Поиск KP фильма с id=326 → успех
4. Возврат данных из Kinopoisk ✅
- id_type='kp' + несуществующий ID:
1. Поиск KP фильма → не найдено
2. Конвертация → не удалась
3. Возврат ошибки (НЕ fallback на TMDB) ✅
ИЗМЕНЕНИЯ:
- pkg/services/movie.go: добавлена конвертация и удален fallback
- pkg/services/tv.go: добавлена конвертация и удален fallback
- Добавлен import fmt для форматирования ошибок
РЕЗУЛЬТАТ:
✅ Строгое соблюдение id_type параметра
✅ Умная конвертация между TMDB и KP ID
✅ Нет неожиданного fallback на другой источник
- Try to fetch from KP API first by KP ID
- If KP data found, return external IDs directly
- Falls back to TMDB if KP ID not found
- Fixes 500 error for Russian content external IDs
- Fixed ImdbID to IMDbID in kinopoisk.go
- Fixed ImdbID to IMDbID in kp_mapper.go
- Removed Tagline field from TVShow mapping
- All builds now pass successfully
All Russian players now use format: /players/{player}/{id_type}/{id}
- id_type can be kp (Kinopoisk) or imdb
- Alloha, Lumex, Vibix, HDVB support both ID types
- Added validation for id_type parameter
- Updated handlers to parse id_type from path