🎬 MFilmDB - Uživatelský návod

Kompletní průvodce aplikací pro správu filmové sbírky

Verze 0.2.2.30

📦 Instalace

Požadavky

Postup instalace (ze zdrojového kódu)

1

Naklonujte repozitář

git clone https://github.com/dedababimiskolezy-hub/MFilmDB.git

2

Vytvořte virtuální prostředí

python -m venv venv nebo conda create -n mfdb python=3.10

3

Nainstalujte závislosti

pip install -r requirements.txt

4

Spusťte aplikaci

python MfilmDB.py

💡
Tip: Pro vytvoření samostatného .exe souboru použijte skript build_exe_gui.py nebo build_exe.py.

🔧 Nástroje v APP_DATA (pokročilé)

Tato část popisuje doplňkové utility a grafické nástroje v adresáři APP_DATA/. Jsou určeny pro pokročilejší úpravy, hromadné zpracování a tvorbu podpůrných dat pro aplikaci.

APP_DATA/extract_film_metadata.py

Hromadný extraktor technických metadat ze souborů (délka, rozlišení, kodek, bitrate). Používá ffprobe / ffmpeg pokud je dostupný v PATH.

APP_DATA/ISP_Generator_GUI.py

GUI nástroj pro tvorbu náhledů / sprite-sheetů a menších preview obrázků používaných v HTML exportech.

APP_DATA/localize_data.py

Obsahuje seznam podporovaných jazyků a lokalizační řetězce. Pro přidání nebo úpravu jazyka:

  1. Otevřete APP_DATA/localize_data.py a přidejte nový záznam v seznamu LANGUAGES (kód + název).
  2. Přidejte překlady do příslušné datové struktury, resp. do souboru s lokalizacemi.
  3. Restartujte aplikaci, aby se změny projevily.

APP_DATA/logic.py — parser názvů souborů

Obsahuje funkce pro extrakci metadat z názvu souboru, primárně parse_filename_metadata(). Můžete zde upravit nebo přidat nové vzory (regex) pro lepší rozpoznání vlastních pojmenování.

Příklad použití v Pythonu:

from APP_DATA.logic import parse_filename_metadata
meta = parse_filename_metadata('Moje.Filmovka.2024.1080p.BluRay.mkv')
print(meta)

APP_DATA/ThemeAdder_GUI.py a APP_DATA/themes.py

Editor témat — vytvořené motivy se ukládají do projektové konfigurace a následně jsou dostupné v Nastavení → Vybrat motiv.

Jak přidat vlastní provider (např. specializovaný scraper)

Pokud chcete doplnit nový zdroj metadat, postupujte opatrně:

  1. Vytvořte nový modul v APP_DATA, např. APP_DATA/enrich_myprovider.py, a implementujte funkci typu enrich_film_myprovider(title, year, file_path), která vrací slovník s poli odpovídajícími databázovým sloupcům.
  2. Zaregistrujte nový zdroj v MfilmDB.py v konfiguraci DEFAULT_CONFIG['sources'] (přidejte klíč s defaultní hodnotou True/False) a v seznamu popisů v dialogu zdrojů metadat.
  3. Přidejte volání do orchestrátoru enrichmentu nebo upravte pořadí providerů podle priority (viz sekce Enrichment).
  4. Otestujte lokálně na několika vzorcích – web scraping může být citlivý na změny struktury cílového webu.

Obecné poznámky k nástrojům

Ukázkové výstupy

Níže jsou příklady typických výstupů nástrojů — slouží jako reference pro validaci výsledků.

1) Příklad CSV výstupu z extract_film_metadata.py

file_path,duration,video_codec,width,height,bitrate
/media/Film/Example.Movie.2024.mkv,01:42:15,h264,1920,1080,3500k
/media/Film/Clip.Video.2023.mp4,00:03:45,h264,1280,720,800k

2) Příklad JSON výsledku z parse_filename_metadata()

{
  "title": "Moje Filmovka",
  "year": 2024,
  "quality": "1080p",
  "source": "BluRay",
  "language": "CZ",
  "extra": {"resolution": "1920x1080"}
}

3) Příklad CSV pro HTML export (ukázkový řádek)

id;title;original_title;year;duration;rating;cover_path
1;Moje Filmovka;My Movie;2024;102;8.5;covers/moje_filmovka_2024.jpg

Screenshoty (placeholdery)

Do manuálu můžete vložit skutečné screenshoty. Níže jsou placeholdery, které můžete nahradit reálnými snímky ve složce navod_cz/images/ (vedle souboru navod_cz.html).

Hlavní okno - placeholder
Obr. 1 — Hlavní okno aplikace (vyměňte za reálný snímek: navod_cz/images/main_window.png).
Výstup extract_film_metadata - placeholder
Obr. 2 — Příklad CSV výstupu z extract_film_metadata.py (vyměňte: navod_cz/images/extract_metadata.png).

Jak vložit reálný screenshot:

  1. Uložte snímek do docs/navod_cz/images/ (vytvořte složku, pokud neexistuje).
  2. Přejmenujte soubor podle popisku (např. main_window.png nebo main_window.svg).
  3. Otevřete tento soubor docs/navod_cz.html a změňte src v tagu <img> na novou cestu (např. navod_cz/images/main_window.png).

Podrobné texty a tipy

Praktické tipy pro práci s exporty

Tipy k tvorbě screenshotů

🎯 První spuštění

Při prvním spuštění aplikace vytvoří:

Rozložení hlavního okna

Oblast Umístění Funkce
📋 Menu Horní lišta Soubor, Úpravy, Nástroje, Nastavení
🔍 Panel nástrojů Pod menu Vyhledávání, filtry, rychlé akce
📊 Tabulka filmů Střed Seznam všech filmů v databázi
🖼️ Panel detailu Pravá strana Náhled vybraného filmu, cover
📈 Stavový řádek Spodní lišta Počet filmů, stav operací

⚙️ Základní nastavení

Přístup k nastavení

Menu: Nastavení → různé položky

Výběr tématu vzhledu

Nastavení → Vybrat motiv

Změna jazyka

Nastavení → Lokalizace / Language

Zdroje metadat

Nastavení → Zdroje metadat...

Zde můžete zapnout/vypnout jednotlivé zdroje:

➕ Přidání filmů

Způsoby přidání

📂

Skenování složky

Automatické přidání všech filmů ze složky

➕

Ruční přidání

Přidání jednoho filmu s ručním vyplněním

📁

Drag & Drop

Přetažení souborů/složek do okna

Ruční přidání filmu

1

Otevřete dialog

Menu: Úpravy → Přidat film...

2

Vyplňte údaje

Název, rok, žánr, cesta k souboru, cesta ke coveru...

3

Uložte

Klikněte na tlačítko Uložit

✨
Tip: Pro rychlejší přidávání použijte skenování složky s automatickým enrichmentem metadat z internetu.

🔍 Skenování složek

Přístup

Menu: Nástroje → Skenovat složku...

Režimy skenování

Režim Ikona Popis Rychlost
Quick Scan ⚡ Pouze základní info (cesta, velikost, formát) Velmi rychlé
Deep Scan 🔍 + extrakce metadat z názvů souborů a cest Střední
Full Scan 🌐 + online enrichment (TMDb, ČSFD, covers...) Pomalé (závisí na internetu)

Co se extrahuje z názvu souboru

⚠️
Pozor: Full Scan může trvat dlouho u velkých sbírek. Pro 1000+ filmů doporučujeme nejprve Quick Scan a pak postupný enrichment.

✏️ Editace záznamu

Způsoby editace

Dostupná pole

Pole Popis
titleNázev filmu (český)
original_titleOriginální název
yearRok vydání
genreŽánr(y)
directorRežisér
writerScénář
cinematographyKamera
musicHudba
castObsazení
dubbingDabing
subtitlesTitulky
durationDélka filmu
file_sizeVelikost souboru
file_pathCesta k souboru
cover_pathCesta ke coveru
plotPopis děje
notesPoznámky
ratingHodnocení
qualityKvalita (1080p, 4K...)

🗑️ Mazání filmů

Smazání jednoho filmu

  1. Vyberte film v tabulce
  2. Menu: Úpravy → Smazat vybraný
  3. Potvrďte dialog
⚠️
Upozornění: Mazání je nevratné! Aplikace maže pouze záznam z databáze, soubor na disku zůstává.

🌐 Zdroje metadat

Aplikace podporuje stahování metadat z těchto zdrojů:

🔑 API klíče

Získání TMDb API klíče

  1. Zaregistrujte se na themoviedb.org
  2. Přejděte do Settings → API
  3. Požádejte o API klíč (vývojář)
  4. Zkopírujte klíč do aplikace: Nastavení → Zdroje metadat

Získání OMDb API klíče

  1. Přejděte na omdbapi.com
  2. Zvolte tier (Free = 1000 požadavků/den)
  3. Potvrďte email a zkopírujte klíč
💡
Poznámka: API klíče jsou uloženy v config.json. Nezveřejňujte tento soubor (obsahuje vaše klíče).

✨ Enrichment (obohacení dat)

Enrichment je proces automatického doplnění metadat z online zdrojů.

Automatický enrichment

Probíhá při Full Scan nebo při použití Watchdog s auto_import: true.

Ruční enrichment

  1. Vyberte film(y) v tabulce
  2. Pravý klik → Obnovit metadata
  3. Aplikace stáhne aktuální data ze zdrojů

Priorita zdrojů

Pořadí, v jakém se data kombinují (nastavitelné):

  1. TMDb (preferovaný zdroj)
  2. OMDb / IMDb
  3. ČSFD
  4. FDb.cz
  5. Ostatní

📥 Import dat

Import ze starších verzí

Menu: Soubor → Import ze starších verzí...

Podporované formáty:

Standardní import

Menu: Soubor → Importovat...

Import z aktuálních formátů (CSV, JSON) exportovaných touto verzí.

📤 Export dat

Přístup

Menu: Soubor → Exportovat...

Dostupné formáty

Formát Přípona Použití
CSV .csv Tabulkové procesory (Excel, LibreOffice)
JSON .json Programatické zpracování, záloha
Excel .xlsx Microsoft Excel s vloženými náhledy
HTML .html Webová stránka pro prohlížení
XML .xml Strukturovaná data pro integraci
ZIP .zip HTML + všechny covery v archivu

🎨 HTML šablony exportu

Při exportu do HTML můžete vybrat z několika šablon:

👁️ Watchdog - automatické sledování

Co je Watchdog?

Watchdog je funkce, která automaticky sleduje vybrané složky a při přidání nového video souboru ho automaticky importuje do databáze.

Nastavení

Menu: Nástroje → Nastavení watchdog...

Konfigurace

💡
Tip: Watchdog je ideální pro sledování download složky nebo NAS, kam automaticky přibývají nové filmy.

🎭 Témata vzhledu

Změna tématu

Menu: Nastavení → Vybrat motiv

ttkbootstrap témata

Tmavá: darkly, superhero, cyborg, vapor, solar

Světlá: flatly, litera, minty, lumen, sandstone, yeti

Ostatní: cosmo, journal, cerculean, pulse, morph...

Vlastní témata

Můžete vytvořit vlastní barevné schéma:

  1. Nastavení → Vybrat motiv → 🎨 Vlastní témata
  2. ➕ Vytvořit nové téma...
  3. Definujte barvy (bg, fg, accent, header, table...)
  4. Uložte téma
⚠️
Poznámka: Po změně tématu je doporučeno restartovat aplikaci pro plnou aplikaci změn.

🔎 Vyhledávání a filtrování

Rychlé vyhledávání

Pole v panelu nástrojů - prohledává název, originální název, rok, režiséra.

Pokročilé vyhledávání

Menu: Nástroje → Pokročilé vyhledávání...

Víceúrovňové třídění

Menu: Nástroje → Víceúrovňové třídění...

⌨️ Klávesové zkratky

Zkratka Akce
Ctrl + N Nový film
Ctrl + O Importovat
Ctrl + S Exportovat
Ctrl + F Vyhledávání
Enter Editovat vybraný
Delete Smazat vybraný
F5 Obnovit zobrazení

❓ Často kladené otázky (FAQ)

Kde se ukládá databáze?

Ve stejné složce jako aplikace, soubor mfilmdb.db (SQLite).

Můžu používat aplikaci offline?

Ano, základní funkce fungují offline. Pro enrichment metadat je potřeba internet.

Jak zálohovat databázi?

Zkopírujte soubory mfilmdb.db a config.json. Případně složku covers/.

Podporuje aplikace seriály?

Částečně - můžete přidat epizody jako samostatné záznamy. Plná podpora seriálů je plánována.

Jak přidat nový zdroj metadat?

Vyžaduje úpravu zdrojového kódu - přidání funkce enrich_film_* a registrace v konfiguraci.

🔧 Řešení problémů

❌ Aplikace se nespustí

❌ Metadata se nestahují

❌ Covery se nezobrazují

❌ Watchdog nefunguje

🐛
Nahlášení chyby: Pro nahlášení chyb použijte GitHub Issues.

📘 Detailní uživatelský manuál

Rychlý start

  1. Spusťte aplikaci `python MfilmDB.py` nebo použijte zkompilované `.exe`.
  2. V menu Nastavení → Watchdog nastavte složky ke sledování a stiskněte Uložit.
  3. Ve Výchozím nastavení zkontrolujte API klíče pro TMDb/OMDb/ČSFD pokud chcete online enrichment.
  4. Import souborů: přetáhněte je do okna aplikace nebo použijte Import → Skenovat složku.

Hlavní obrazovka

Tabulka filmů zobrazuje základní metadata (titulek, rok, délka, zdroj, dabing). Kliknutím na řádek otevřete detail, kde můžete upravit metadata, nahradit cover nebo spustit enrichment.

Import a export

Aplikace podporuje: CSV, XLSX (s obrázky), JSON, HTML galerie a AIO ZIP exporty. V exportních šablonách najdete nastavení sloupců a formátů v Nastavení → Export.

Enrichment metadat

Enrichment kombinuje výsledky z více providerů (TMDb, OMDb, ČSFD, FDb). Výběr providerů a priority naleznete v Nastavení → Enrichment. Funkce Enrich Smart automaticky sloučí nejlepší dostupná data.

Poznámka: Pro videoklipy a hudební videa můžete povolit specializovaný provider IMVDB v nastavení zdrojů (defaultně vypnutý). Pokud chcete přidat vlastní provider, přidejte implementaci do APP_DATA a nastavte jej v konfiguračním souboru.

Watchdog (automatické sledování složek)

Watchdog sleduje přidané složky pro nové soubory. Při detekci nového souboru spustí parsing názvu, vytvoří záznam a stáhne cover/thumbnail pokud je povoleno.

Správa coverů

SimpleCoverDownloader stahuje obrázky v několika velikostech. V detailu filmu můžete zkopírovat cover do schránky, stáhnout alternativní cover nebo použít offline fallback.

Pokročilé nastavení

Řešení častých problémů

Pokud aplikace nezobrazuje covery nebo metadata, zkontrolujte nastavení API klíčů, dostupnost `ffmpeg`/`ffprobe` v PATH a oprávnění ke složkám.