---
feature: "Vyhledávání"
description: "Vyhledávání filmů a seriálů na Webshare a KRA.sk s pokročilým řazením"
files:
  - wcs/search/MovieSearch.py
  - wcs/search/SeriesSearch.py
parent: true
children:
  - "MovieSearch"
  - "SeriesSearch"
created: "2026-04-04"
updated: "2026-04-06"
status: "complete"
---

# Vyhledávání

Vyhledávací engine pro filmy a seriály na Webshare a KRA.sk. Přijímá vyhledávací dotaz, volá provider API, filtruje výsledky (min. velikost, relevantní formáty) a řadí je pokročilým skórovacím algoritmem (kvalita → velikost → CZ jazyk). Výsledky se zobrazují v fullscreen dialogu (viz [012-ui-system.md](012-ui-system.md)).

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `wcs/search/MovieSearch.py` | 10 KB | Vyhledávání filmů |
| `wcs/search/SeriesSearch.py` | 31 KB | Vyhledávání seriálů/epizod |

## Child funkce

### MovieSearch

- **Co dělá**: Vyhledávání filmů na Webshare. Sestaví query z názvu a roku, zavolá Webshare search API, odfiltruje nerelevantní soubory (příliš malé, nevideoformáty) a seřadí výsledky pomocí `calculate_advanced_score()`. Podporuje ruční vyhledávání s vlastním dotazem.
- **Klíčové metody**:
  - `perform_search_and_display(addon, params, handle)` – hlavní vyhledávání s Kodi výpisem
  - `perform_manual_search(addon, params, handle)` – manuální vyhledávání
  - `sort_files_by_priority(files, query)` – řazení výsledků
- **Vstupy**: Vyhledávací dotaz (title + year), addon instance
- **Výstupy**: Seřazený seznam souborů s metadaty (name, ident, size, quality, language)
- **Závislosti**: [009-webshare.md](009-webshare.md) (WebshareClient – search API), [001-router-core.md](001-router-core.md) (utils – skórování, extrakce)
- **Settings**: žádné přímé

### SeriesSearch

- **Co dělá**: Vyhledávání seriálů a epizod na Webshare/KRA.sk. Složitější než filmy – musí řešit formátování S01E01, vyhledání celých sezón, jednotlivých epizod i celých sérií. Podporuje progressive search (nejdřív přesný dotaz, pak rozšířený). Výsledky řadí relevancí a kvalitou.
- **Dva hlavní vstupní body**:
  - `search_and_handle_episode(params, addon, handle)` – TMDb flow (action `tmdb_episode_search`). Vyhledá a přehraje epizodu přes `setResolvedUrl`. **Plánuje info notifikaci** přes `schedule_episode_info_dialog()` (viz [007-playback.md](007-playback.md)).
  - `_internal_search_and_select_series_file()` – interní vyhledávání a výběr souboru (sdílené oběma flow)
- **Provider-aware resolve**: Podporuje Webshare (`webshare_api.resolve_playable_item`) i KRA.sk (`_resolve_via_kraska`) – automaticky podle `provider` pole v result.
- **Klíčové metody**:
  - `search_and_handle_episode()` – TMDb entry point, ukládá historii, plánuje notifikaci
  - `_internal_search_and_select_series_file()` – vyhledávání a řazení výsledků
  - `_resolve_via_kraska()` – resolve KRA.sk streamu přes SCClient
- **Vstupy**: Název seriálu, číslo sezóny/epizody, TMDb params, addon instance
- **Výstupy**: Přehrání epizody (setResolvedUrl), info notifikace, záznam v historii
- **Závislosti**: [009-webshare.md](009-webshare.md), [010-kraska.md](010-kraska.md), [011-streamcinema.md](011-streamcinema.md), [007-playback.md](007-playback.md) (schedule_episode_info_dialog), [001-router-core.md](001-router-core.md) (utils, user_data)
- **Settings**: žádné přímé

