---
feature: "Webshare"
description: "Webshare.cz API klient pro vyhledávání, resolve streamů a stahování souborů"
files:
  - wcs/webshare/WebshareClient.py
  - wcs/webshare/DownloadManager.py
parent: true
children:
  - "WebshareClient"
  - "DownloadManager"
created: "2026-04-04"
updated: "2026-04-04"
status: "complete"
---

# Webshare

Primární stream provider pluginu. Webshare.cz je filehosting služba s vyhledáváním. Plugin se přihlásí, vyhledá soubory, resolvuje přímé URL streamu a přehraje nebo stáhne. VIP účet umožňuje rychlejší streaming. Podporuje revalidaci tokenů a VIP expiraci.

## Soubory

| Soubor | Velikost | Účel |
|--------|----------|------|
| `wcs/webshare/WebshareClient.py` | 19 KB | API klient |
| `wcs/webshare/DownloadManager.py` | 8 KB | Stahování souborů |

## Child funkce

### WebshareClient

- **Co dělá**: Kompletní klient pro Webshare.cz API. Řeší přihlášení (salt + MD5 hash hesla), vyhledávání souborů, informace o souboru, resolve na přímou stream URL, revalidaci tokenů a kontrolu VIP stavu. Všechny API volání jsou XML-based (Webshare API formát).
- **Klíčové metody**:
  - `login(addon)` – přihlášení, vrací token
  - `revalidate(addon, notify_func)` – ověření platnosti tokenu
  - `search(query, addon)` – vyhledání souborů
  - `resolve_playable_item(ident, name, addon, params, handle)` – resolve a přehrání
  - `get_file_info(ident, addon)` – metadata souboru
  - `refresh_vip_info(addon, show_warning, log_context)` – kontrola VIP expirace
- **Vstupy**: Přihlašovací údaje, vyhledávací dotaz, file ident
- **Výstupy**: Token, seznam souborů, stream URL, VIP info
- **Závislosti**: `requests`, `md5crypt` (hashování hesla)
- **Settings**: `wsuser`, `wspass`, `token`, `webshare_status`, `vip_days`

### DownloadManager

- **Co dělá**: Stahování souborů z Webshare s progress barem. Resolvuje stream URL, stáhne do uživatelem zvolené složky a zobrazuje průběh stahování s možností zrušení. Podporuje normalizaci názvů souborů.
- **Klíčové metody**: `download_file(ident, addon)` – hlavní stahování s UI
- **Vstupy**: File ident, addon instance
- **Výstupy**: Stažený soubor na disku
- **Závislosti**: `WebshareClient` (resolve URL), [001-router-core.md](001-router-core.md) (utils – sanitize_filename)
- **Settings**: `download_folder`, `dnormalize` (normalizace názvů), `dnotify` (notifikace), `dnevery` (frekvence notifikací)
