---
feature: "Knihovna"
description: "Integrace s Kodi knihovnou přes .strm soubory a Kodi JSON-RPC"
files:
  - wcs/library/LibraryManager.py
parent: true
children:
  - "LibraryManager"
created: "2026-04-04"
updated: "2026-04-05"
status: "complete"
---

# Knihovna

Integrace pluginu s Kodi nativní knihovnou. Vytváří .strm soubory pro filmy a seriály, které Kodi knihovna dokáže indexovat. Podporuje automatickou aktualizaci knihovny, správu .strm souborů a komunikaci přes Kodi JSON-RPC API pro metadata z knihovny.

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `wcs/library/LibraryManager.py` | 34 KB | Kompletní správa knihovny |

## Child funkce

### LibraryManager

- **Co dělá**: Spravuje integraci s Kodi knihovnou. Hlavní funkce:
  1. **Vytváření .strm souborů** – pro filmy (`title (year).strm`) i seriály (složková struktura `Series/Season XX/SxxExx.strm`)
  2. **Auto-update** – automatické přidávání nových epizod při přidání seriálu
  3. **Kodi JSON-RPC** – čtení metadat z Kodi knihovny (GetTVShows, GetEpisodes, GetMovies)
  4. **Přehrávání z knihovny** – akce `play_movie_from_library` a `play_episode_from_library` s **provider-aware resolve** (rozlišuje KRA.sk vs Webshare podle `provider` pole vybraného souboru)
  5. **KRA.sk resolve** – pro KRA.sk soubory: `SCClient.get_ident()` → `KraskaClient.resolve()` → stream URL
  6. **Webshare resolve** – pro Webshare soubory: `revalidate()` → `getlink()` → stream URL
  7. **VIP refresh v backgroundu** – po `setResolvedUrl` se VIP kontrola provádí v daemon threadu, aby nezdržovala Kodi timeout
  8. **Autoplay monitoring** – `_activate_singleton_monitoring()` pro autoplay dalších epizod
  9. **Validace** – kontrola nastavených složek a oprávnění
- **Klíčové metody**:
  - `_create_movie_strm(movie_data, addon)` – vytvoření .strm pro film
  - `_create_series_strms(series_data, addon)` – vytvoření .strm pro celý seriál (všechny sezóny/epizody)
  - `check_settings_and_add_item(params, addon)` – kontrola nastavení a přidání do knihovny
  - `resolve_episode_from_library(params, addon, handle)` – resolve epizody z knihovny s provider-aware logikou
  - `play_movie_from_library(params, addon, handle)` – resolve filmu z knihovny
  - `get_episode_metadata_from_library(series_name, season, episode)` – metadata epizody z Kodi knihovny (JSON-RPC)
  - `get_next_episode_metadata_from_library(series_name, season, episode)` – metadata následující epizody
  - `get_movie_metadata_from_library(title, year)` – metadata filmu z Kodi knihovny (JSON-RPC)
  - `_activate_singleton_monitoring(source)` – aktivace monitoring threadu pro autoplay
- **Vstupy**: Movie/series data (tmdb_id, title, year), addon instance, params z routeru
- **Výstupy**: .strm soubory na disku, `setResolvedUrl` s přímou stream URL, Kodi knihovna aktualizovaná
- **Závislosti**: [006-metadata.md](006-metadata.md) (TMDb API pro metadata epizod), [009-webshare.md](009-webshare.md) (pro Webshare resolve a VIP refresh), [010-kraska.md](010-kraska.md) (KraskaClient.resolve pro KRA.sk streamy), [011-streamcinema.md](011-streamcinema.md) (SCClient.get_ident pro KRA.sk identy), [008-search.md](008-search.md) (sort_files_by_priority), [012-ui-system.md](012-ui-system.md) (Search Dialog pro výběr souboru), [001-router-core.md](001-router-core.md) (utils, user_data)
- **Settings**: `library_movies_folder`, `library_series_folder`, `library_auto_update`, `autoplay_enabled_global`, `autoplay_first_item`
