Compare commits

...

14 Commits

Author SHA1 Message Date
08de632db7 Přidání nových filmů do fantasy kolekce a vytvoření nové kolekce pohádek a rodinných filmů 2025-09-24 13:25:33 +02:00
4780e2964c Přidání načítání a zobrazení filmových kolekcí z JSON souborů, včetně vylepšeného logování a chybové správy. 2025-09-24 11:56:03 +02:00
bcb28c32c9 Update action, fantasy, harry-potter, and sci-fi JSON files with new movie entries and titles for improved categorization and searchability. 2025-09-23 19:47:32 +02:00
8a0d43b41b Update episode titles and search terms in 'How I Met Your Mother' JSON file for seasons 4 to 9, ensuring consistency and accuracy across the series. 2025-07-30 14:10:47 +02:00
5f3ee6cb6b Update episode titles and search terms in 'How I Met Your Mother' JSON file for seasons 4 to 9, enhancing accuracy and consistency across the series. 2025-07-30 13:58:32 +02:00
0b4dca6178 Refactor JSON file retrieval to improve error handling and logging, ensuring better reliability and traceability in the download process. 2025-07-30 13:53:38 +02:00
accc004be9 Remove redundant popinfo debug messages from mojedb function to streamline logging and improve code clarity. 2025-07-29 19:37:32 +02:00
aea5daa272 Add function to download JSON files from Git repository, integrating error handling and logging for improved reliability. Remove redundant JSON retrieval logic from main.py. 2025-07-29 19:23:05 +02:00
c92f583609 Replace requests with urllib for HTTP requests in JSON file retrieval, enhancing compatibility and removing the test_regex.py file as it is no longer needed. 2025-07-29 19:18:09 +02:00
da4b380b1e Enhance JSON file retrieval by implementing error handling for file access and improving logging for better debugging and traceability. 2025-07-29 18:50:47 +02:00
54d13032ab Refactor JSON file retrieval to use regex for improved accuracy in matching file links and streamline file name extraction. 2025-07-29 18:24:01 +02:00
7a614fd824 Refactor JSON file retrieval logic to filter links by .json extension and extract only file names for improved clarity and efficiency. 2025-07-29 16:56:19 +02:00
1801ad52b0 Reformat episode list for season 1 in 'Game of Thrones' JSON file for improved readability. 2025-07-29 16:48:41 +02:00
e6559f0769 Add functionality to fetch and update JSON files from remote resources, including episode details for 'Game of Thrones'. Remove unnecessary .DS_Store files. 2025-07-29 16:46:47 +02:00
18 changed files with 1374 additions and 72 deletions

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored
View File

@@ -1 +1,2 @@
.DS_Store .DS_Store
__pycache__/

Binary file not shown.

279
galdPl.py
View File

@@ -6,6 +6,7 @@
import io import io
import os import os
import sys import sys
import time
import xbmc import xbmc
import xbmcgui import xbmcgui
import xbmcplugin import xbmcplugin
@@ -661,10 +662,94 @@ def db(params):
def mojedb(params): def mojedb(params):
xbmc.log("Debug: mojedb funkce spuštěna", xbmc.LOGDEBUG) xbmc.log("Debug: mojedb funkce spuštěna", xbmc.LOGDEBUG)
popinfo("Debug: mojedb funkce spuštěna")
# Funkce pro stahování JSON souborů z GITu
def update_json_db():
try:
import urllib.request
import re
def get_json_files_from_folder(folder):
base_url = "https://git.gald.site/gald/galdistream/src/branch/main/resources/"
url = base_url + folder
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36')
with urllib.request.urlopen(req, timeout=10) as response:
html_content = response.read().decode('utf-8')
json_pattern = r'href="(/gald/galdistream/src/branch/main/resources/[^"]*\.json)"'
matches = re.findall(json_pattern, html_content)
files = []
for match in matches:
file_name = match.split("/")[-1]
files.append(file_name)
return files
base_url_raw = "https://git.gald.site/gald/galdistream/raw/branch/main/resources/"
folders = ["movies", "series"]
all_files = []
for folder in folders:
try:
files = get_json_files_from_folder(folder)
all_files += [f"{folder}/{file}" for file in files]
except Exception as e:
xbmc.log(f"Chyba při získávání souborů ze složky {folder}: {e}", xbmc.LOGERROR)
downloads = 0
for file in all_files:
url = base_url_raw + file
local_path = os.path.join(_addon.getAddonInfo('path'), 'resources', file)
try:
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36')
with urllib.request.urlopen(req, timeout=10) as response:
content = response.read()
os.makedirs(os.path.dirname(local_path), exist_ok=True)
with open(local_path, "wb") as f:
f.write(content)
downloads += 1
xbmc.log(f"Staženo: {file}", xbmc.LOGDEBUG)
except Exception as e:
xbmc.log(f"Chyba při stahování {file}: {e}", xbmc.LOGERROR)
xbmc.log(f"Debug: Stažených JSON souborů: {downloads}", xbmc.LOGDEBUG)
return True
except Exception as e:
xbmc.log(f"Chyba při stahování JSON souborů: {e}", xbmc.LOGERROR)
return False
def should_update_json_db(max_age_hours=12):
try:
last_sync = float(_addon.getSetting('json_db_last_sync') or 0)
except ValueError:
last_sync = 0
if last_sync <= 0:
return True
age_seconds = time.time() - last_sync
return age_seconds >= max_age_hours * 3600
# Stáhni aktuální JSON soubory z GITu pouze pokud je to nutné
if should_update_json_db():
if update_json_db():
_addon.setSetting('json_db_last_sync', str(int(time.time())))
else:
xbmc.log("Debug: Aktualizace JSON databáze selhala", xbmc.LOGDEBUG)
else:
xbmc.log("Debug: Přeskakuji aktualizaci JSON databáze, používám cache", xbmc.LOGDEBUG)
xbmcplugin.setPluginCategory(_handle, _addon.getAddonInfo('name') + " \\ " + _addon.getLocalizedString(30220)) xbmcplugin.setPluginCategory(_handle, _addon.getAddonInfo('name') + " \\ " + _addon.getLocalizedString(30220))
token = revalidate() token = revalidate()
updateListing=False updateListing=False
series_files = []
movies_collections = []
try: try:
# Načti seznam dostupných seriálů a filmů # Načti seznam dostupných seriálů a filmů
@@ -672,19 +757,16 @@ def mojedb(params):
movies_dir = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'movies')) movies_dir = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'movies'))
xbmc.log(f"Debug: Načítám seriály z: {series_dir}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Načítám seriály z: {series_dir}", xbmc.LOGDEBUG)
popinfo(f"Debug: Načítám seriály z: {series_dir}")
# Načti seznam souborů seriálů # Načti seznam souborů seriálů
series_files = []
xbmc.log(f"Debug: Kontroluji existenci složky: {series_dir}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Kontroluji existenci složky: {series_dir}", xbmc.LOGDEBUG)
# Zkusíme načíst soubory pomocí os.path # Zkusíme načíst soubory pomocí os.path
try: try:
# Použijeme os.path místo xbmcvfs pro načítání souborů # Použijeme os.path místo xbmcvfs pro načítání souborů
if os.path.exists(series_dir): if os.path.exists(series_dir):
files = os.listdir(series_dir) files = os.listdir(series_dir)
xbmc.log(f"Debug: Úspěšně načteno {len(files)} souborů z {series_dir}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Úspěšně načteno {len(files)} souborů z {series_dir}", xbmc.LOGDEBUG)
popinfo(f"Debug: Úspěšně načteno {len(files)} souborů")
for file in files: for file in files:
xbmc.log(f"Debug: Kontroluji soubor: {file}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Kontroluji soubor: {file}", xbmc.LOGDEBUG)
if file.endswith('.json'): if file.endswith('.json'):
@@ -692,16 +774,48 @@ def mojedb(params):
xbmc.log(f"Debug: Přidán JSON soubor: {file}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Přidán JSON soubor: {file}", xbmc.LOGDEBUG)
else: else:
xbmc.log(f"Debug: Složka neexistuje (os.path): {series_dir}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Složka neexistuje (os.path): {series_dir}", xbmc.LOGDEBUG)
popinfo(f"Debug: Složka neexistuje (os.path): {series_dir}")
except Exception as e: except Exception as e:
xbmc.log(f"Debug: Chyba při načítání složky {series_dir}: {str(e)}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Chyba při načítání složky {series_dir}: {str(e)}", xbmc.LOGDEBUG)
popinfo(f"Debug: Chyba při načítání složky: {str(e)}")
series_files.sort(key=lambda name: name.lower())
xbmc.log(f"Debug: Nalezeno {len(series_files)} JSON souborů seriálů", xbmc.LOGDEBUG) xbmc.log(f"Debug: Nalezeno {len(series_files)} JSON souborů seriálů", xbmc.LOGDEBUG)
popinfo(f"Debug: Nalezeno {len(series_files)} JSON souborů seriálů")
for file in series_files: for file in series_files:
xbmc.log(f"Debug: Seriál soubor: {file}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Seriál soubor: {file}", xbmc.LOGDEBUG)
xbmc.log(f"Debug: Načítám filmy z: {movies_dir}", xbmc.LOGDEBUG)
movies_files = []
try:
if os.path.exists(movies_dir):
files = os.listdir(movies_dir)
xbmc.log(f"Debug: Úspěšně načteno {len(files)} souborů z {movies_dir}", xbmc.LOGDEBUG)
for file in files:
xbmc.log(f"Debug: Kontroluji filmový soubor: {file}", xbmc.LOGDEBUG)
if file.endswith('.json'):
movies_files.append(file)
xbmc.log(f"Debug: Přidán JSON soubor filmů: {file}", xbmc.LOGDEBUG)
else:
xbmc.log(f"Debug: Složka neexistuje (os.path): {movies_dir}", xbmc.LOGDEBUG)
except Exception as e:
xbmc.log(f"Debug: Chyba při načítání složky {movies_dir}: {str(e)}", xbmc.LOGDEBUG)
movies_files.sort(key=lambda name: name.lower())
xbmc.log(f"Debug: Nalezeno {len(movies_files)} JSON souborů filmů", xbmc.LOGDEBUG)
for file in movies_files:
try:
movie_path = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'movies', file))
xbmc.log(f"Debug: Načítám filmový katalog: {file}", xbmc.LOGDEBUG)
with xbmcvfs.File(movie_path, 'r') as f:
content = f.read()
movie_data = json.loads(content)
movies_collections.append({'file': file, 'data': movie_data})
xbmc.log(f"Debug: Přidán katalog filmů: {movie_data.get('title', file)}", xbmc.LOGDEBUG)
except Exception as e:
xbmc.log(f"Chyba při načítání filmového souboru {file}: {str(e)}", xbmc.LOGERROR)
movies_collections.sort(key=lambda item: (item['data'].get('title') or item['file']).lower())
except Exception as e: except Exception as e:
xbmc.log(f"Chyba při načítání databáze: {str(e)}", xbmc.LOGERROR) xbmc.log(f"Chyba při načítání databáze: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při načítání databáze: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True) popinfo(f"Chyba při načítání databáze: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
@@ -721,62 +835,73 @@ def mojedb(params):
# Výpis seriálů # Výpis seriálů
elif params.get('type') == 'series' and not params.get('series_idx'): elif params.get('type') == 'series' and not params.get('series_idx'):
xbmcplugin.setContent(_handle, 'tvshows')
xbmc.log(f"Debug: Zobrazuji seriály, nalezeno {len(series_files)} souborů", xbmc.LOGDEBUG) xbmc.log(f"Debug: Zobrazuji seriály, nalezeno {len(series_files)} souborů", xbmc.LOGDEBUG)
popinfo(f"Debug: Zobrazuji seriály, nalezeno {len(series_files)} souborů") series_entries = []
for idx, file in enumerate(series_files): for idx, file in enumerate(series_files):
try: try:
xbmc.log(f"Debug: Načítám seriál: {file}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Načítám seriál: {file}", xbmc.LOGDEBUG)
# Načti data seriálu z JSON souboru
series_path = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'series', file)) series_path = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'series', file))
xbmc.log(f"Debug: Cesta k souboru: {series_path}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Cesta k souboru: {series_path}", xbmc.LOGDEBUG)
with xbmcvfs.File(series_path, 'r') as f: with xbmcvfs.File(series_path, 'r') as f:
content = f.read() content = f.read()
xbmc.log(f"Debug: Přečteno {len(content)} znaků", xbmc.LOGDEBUG) xbmc.log(f"Debug: Přečteno {len(content)} znaků", xbmc.LOGDEBUG)
serie_data = json.loads(content) serie_data = json.loads(content)
# Vytvoř název seriálu z názvu souboru
series_name = file.replace('.json', '').replace('-', ' ').title() series_name = file.replace('.json', '').replace('-', ' ').title()
if 'title' in serie_data: if 'title' in serie_data:
series_name = serie_data['title'] series_name = serie_data['title']
xbmc.log(f"Debug: Vytvářím položku pro seriál: {series_name}", xbmc.LOGDEBUG) series_entries.append({
# Použijeme číselný index místo názvu souboru 'index': idx,
url = get_url(action='mojedb', type='series', series_idx=idx) 'name': series_name,
xbmc.log(f"Debug: URL pro seriál: {url}", xbmc.LOGDEBUG) 'icon': serie_data.get('icon') or 'DefaultTVShows.png'
listitem = xbmcgui.ListItem(label=series_name) })
listitem.setArt({'icon': serie_data.get('icon', 'DefaultTVShows.png')}) xbmc.log(f"Debug: Připravená položka pro seriál: {series_name}", xbmc.LOGDEBUG)
xbmcplugin.addDirectoryItem(_handle, url, listitem, True)
xbmc.log(f"Debug: Přidána položka pro seriál: {series_name}", xbmc.LOGDEBUG)
except Exception as e: except Exception as e:
xbmc.log(f"Chyba při načítání seriálu {file}: {str(e)}", xbmc.LOGERROR) xbmc.log(f"Chyba při načítání seriálu {file}: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při načítání seriálu {file}: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR) popinfo(f"Chyba při načítání seriálu {file}: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR)
series_entries.sort(key=lambda item: item['name'].lower())
for entry in series_entries:
url = get_url(action='mojedb', type='series', series_idx=entry['index'])
listitem = xbmcgui.ListItem(label=entry['name'])
listitem.setArt({'icon': entry['icon']})
xbmcplugin.addDirectoryItem(_handle, url, listitem, True)
xbmc.log(f"Debug: Přidána položka pro seriál: {entry['name']}", xbmc.LOGDEBUG)
# Výpis sezón daného seriálu # Výpis sezón daného seriálu
elif params.get('type') == 'series' and params.get('series_idx') is not None and not params.get('season_idx'): elif params.get('type') == 'series' and params.get('series_idx') is not None and not params.get('season_idx'):
xbmcplugin.setContent(_handle, 'seasons')
try: try:
series_idx = int(params['series_idx']) series_idx = int(params['series_idx'])
series_file = series_files[series_idx] series_file = series_files[series_idx]
popinfo(f"Debug: Zpracovávám seriál: {series_file}")
# Načti data seriálu # Načti data seriálu
series_path = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'series', series_file)) series_path = xbmcvfs.translatePath(os.path.join(_addon.getAddonInfo('path'), 'resources', 'series', series_file))
with xbmcvfs.File(series_path, 'r') as f: with xbmcvfs.File(series_path, 'r') as f:
content = f.read() content = f.read()
serie_data = json.loads(content) serie_data = json.loads(content)
for idx, season in enumerate(serie_data.get('seasons', [])): series_title = serie_data.get('title') or series_file.replace('.json', '').replace('-', ' ').title()
label = f"{serie_data['title']} - Sezóna {season['season']}" series_icon = serie_data.get('icon') or 'DefaultTVShows.png'
seasons_with_index = list(enumerate(serie_data.get('seasons', [])))
sorted_seasons = sorted(seasons_with_index, key=lambda item: item[1].get('season', item[0]))
for original_idx, season in sorted_seasons:
season_number = season.get('season', original_idx + 1)
label = f"{series_title} - Sezóna {season_number}"
listitem = xbmcgui.ListItem(label=label) listitem = xbmcgui.ListItem(label=label)
listitem.setArt({'icon': serie_data.get('icon', 'DefaultTVShows.png')}) listitem.setArt({'icon': series_icon})
xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='series', series_idx=series_idx, season_idx=idx), listitem, True) xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='series', series_idx=series_idx, season_idx=original_idx), listitem, True)
popinfo(f"Debug: Přidáno {len(serie_data.get('seasons', []))} sezón")
except Exception as e: except Exception as e:
popinfo(f"Chyba při zpracování sezón: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True) popinfo(f"Chyba při zpracování sezón: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
# Výpis epizod dané sezóny # Výpis epizod dané sezóny
elif params.get('type') == 'series' and params.get('series_idx') is not None and params.get('season_idx') is not None and not params.get('episode_idx'): elif params.get('type') == 'series' and params.get('series_idx') is not None and params.get('season_idx') is not None and not params.get('episode_idx'):
xbmcplugin.setContent(_handle, 'episodes')
xbmc.log("Debug: Zpracovávám seznam epizod", xbmc.LOGDEBUG) xbmc.log("Debug: Zpracovávám seznam epizod", xbmc.LOGDEBUG)
popinfo("Debug: Zpracovávám seznam epizod")
try: try:
series_idx = int(params['series_idx']) series_idx = int(params['series_idx'])
series_file = series_files[series_idx] series_file = series_files[series_idx]
@@ -787,15 +912,21 @@ def mojedb(params):
with xbmcvfs.File(series_path, 'r') as f: with xbmcvfs.File(series_path, 'r') as f:
content = f.read() content = f.read()
serie_data = json.loads(content) serie_data = json.loads(content)
season = serie_data['seasons'][season_idx] season = serie_data['seasons'][season_idx]
xbmc.log(f"Debug: Sezóna {season['season']}, {len(season.get('episodes', []))} epizod", xbmc.LOGDEBUG) series_icon = serie_data.get('icon') or 'DefaultTVShows.png'
popinfo(f"Debug: Sezóna {season['season']}, {len(season.get('episodes', []))} epizod") season_number = season.get('season', season_idx + 1)
for idx, episode in enumerate(season.get('episodes', [])): episodes_with_index = list(enumerate(season.get('episodes', [])))
listitem = xbmcgui.ListItem(label=episode['title']) episode_count = len(episodes_with_index)
listitem.setArt({'icon': serie_data.get('icon', 'DefaultTVShows.png')}) xbmc.log(f"Debug: Sezóna {season_number}, {episode_count} epizod", xbmc.LOGDEBUG)
xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='series', series_idx=series_idx, season_idx=params['season_idx'], episode_idx=idx), listitem, True) sorted_episodes = sorted(episodes_with_index, key=lambda item: (item[1].get('title') or '').lower())
popinfo(f"Debug: Přidáno {len(season.get('episodes', []))} epizod")
for original_idx, episode in sorted_episodes:
episode_title = episode.get('title') or f"Epizoda {original_idx + 1}"
listitem = xbmcgui.ListItem(label=episode_title)
listitem.setArt({'icon': series_icon})
xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='series', series_idx=series_idx, season_idx=params['season_idx'], episode_idx=original_idx), listitem, True)
xbmc.log(f"Debug: Přidáno {episode_count} epizod", xbmc.LOGDEBUG)
except Exception as e: except Exception as e:
xbmc.log(f"Chyba při zpracování epizod: {str(e)}", xbmc.LOGERROR) xbmc.log(f"Chyba při zpracování epizod: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při zpracování epizod: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True) popinfo(f"Chyba při zpracování epizod: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
@@ -803,7 +934,6 @@ def mojedb(params):
# Vyhledání konkrétní epizody # Vyhledání konkrétní epizody
elif params.get('type') == 'series' and params.get('series_idx') is not None and params.get('season_idx') is not None and params.get('episode_idx') is not None: elif params.get('type') == 'series' and params.get('series_idx') is not None and params.get('season_idx') is not None and params.get('episode_idx') is not None:
xbmc.log("Debug: Zpracovávám epizodu", xbmc.LOGDEBUG) xbmc.log("Debug: Zpracovávám epizodu", xbmc.LOGDEBUG)
popinfo("Debug: Zpracovávám epizodu")
try: try:
series_idx = int(params['series_idx']) series_idx = int(params['series_idx'])
series_file = series_files[series_idx] series_file = series_files[series_idx]
@@ -819,7 +949,6 @@ def mojedb(params):
season = serie_data['seasons'][season_idx] season = serie_data['seasons'][season_idx]
episode = season['episodes'][episode_idx] episode = season['episodes'][episode_idx]
xbmc.log(f"Debug: Epizoda: {episode['title']}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Epizoda: {episode['title']}", xbmc.LOGDEBUG)
popinfo(f"Debug: Epizoda: {episode['title']}")
except Exception as e: except Exception as e:
xbmc.log(f"Chyba při zpracování epizody: {str(e)}", xbmc.LOGERROR) xbmc.log(f"Chyba při zpracování epizody: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při zpracování epizody: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True) popinfo(f"Chyba při zpracování epizody: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
@@ -827,10 +956,8 @@ def mojedb(params):
return return
if 'ident' in episode: if 'ident' in episode:
xbmc.log(f"Debug: Nalezen ident: {episode['ident']}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Nalezen ident: {episode['ident']}", xbmc.LOGDEBUG)
popinfo(f"Debug: Nalezen ident: {episode['ident']}")
if verify_ident(episode['ident'], token): if verify_ident(episode['ident'], token):
xbmc.log("Debug: Ident je platný, vytvářím přehrávatelnou položku", xbmc.LOGDEBUG) xbmc.log("Debug: Ident je platný, vytvářím přehrávatelnou položku", xbmc.LOGDEBUG)
popinfo("Debug: Ident je platný, vytvářím přehrávatelnou položku")
# Vytvoř přehrávatelnou položku # Vytvoř přehrávatelnou položku
listitem = xbmcgui.ListItem(label=episode['title']) listitem = xbmcgui.ListItem(label=episode['title'])
listitem.setArt({'icon': serie_data.get('icon', 'DefaultTVShows.png')}) listitem.setArt({'icon': serie_data.get('icon', 'DefaultTVShows.png')})
@@ -839,12 +966,10 @@ def mojedb(params):
xbmcplugin.addDirectoryItem(_handle, get_url(action='play', ident=episode['ident'], name=episode['title']), listitem, False) xbmcplugin.addDirectoryItem(_handle, get_url(action='play', ident=episode['ident'], name=episode['title']), listitem, False)
# Ukonči adresář bez volání endOfDirectory na konci # Ukonči adresář bez volání endOfDirectory na konci
xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL) xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL)
popinfo("Debug: Ukončuji mojedb funkci")
xbmcplugin.endOfDirectory(_handle, updateListing=updateListing) xbmcplugin.endOfDirectory(_handle, updateListing=updateListing)
return return
else: else:
xbmc.log("Debug: Ident není platný, zobrazuji výsledky vyhledávání", xbmc.LOGDEBUG) xbmc.log("Debug: Ident není platný, zobrazuji výsledky vyhledávání", xbmc.LOGDEBUG)
popinfo("Debug: Ident není platný, zobrazuji výsledky vyhledávání")
# Pokud ident není platný, použij vyhledávání # Pokud ident není platný, použij vyhledávání
what = episode['search'] what = episode['search']
category = 'video' category = 'video'
@@ -853,7 +978,6 @@ def mojedb(params):
offset = 0 offset = 0
dosearch(token, what, category, sort, limit, offset, 'search') dosearch(token, what, category, sort, limit, offset, 'search')
else: else:
popinfo("Debug: Není ident, zobrazuji výsledky vyhledávání")
what = episode['search'] what = episode['search']
category = 'video' category = 'video'
sort = 'recent' sort = 'recent'
@@ -861,31 +985,70 @@ def mojedb(params):
offset = 0 offset = 0
dosearch(token, what, category, sort, limit, offset, 'search') dosearch(token, what, category, sort, limit, offset, 'search')
# Výpis filmů # Přehled filmových kolekcí
elif params.get('type') == 'movies': elif params.get('type') == 'movies' and params.get('collection_idx') is None and params.get('movie_idx') is None:
for idx, movie in enumerate(dbdata.get('movies', [])): xbmcplugin.setContent(_handle, 'videos')
listitem = xbmcgui.ListItem(label=movie['title']) xbmc.log(f"Debug: Zobrazuji filmové kolekce, nalezeno {len(movies_collections)} souborů", xbmc.LOGDEBUG)
listitem.setArt({'icon': movie.get('icon', 'DefaultMovies.png')}) for idx, collection in enumerate(movies_collections):
xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='movies', movie_idx=idx), listitem, True) data = collection['data']
title = data.get('title') or collection['file'].replace('.json', '').replace('-', ' ').title()
xbmc.log(f"Debug: Přidávám kolekci filmů: {title}", xbmc.LOGDEBUG)
listitem = xbmcgui.ListItem(label=title)
listitem.setArt({'icon': data.get('icon') or 'DefaultMovies.png'})
xbmcplugin.addDirectoryItem(_handle, get_url(action='mojedb', type='movies', collection_idx=idx), listitem, True)
# Výpis filmů v kolekci
elif params.get('type') == 'movies' and params.get('collection_idx') is not None and params.get('movie_idx') is None:
xbmcplugin.setContent(_handle, 'movies')
try:
collection_idx = int(params['collection_idx'])
collection = movies_collections[collection_idx]
movies = collection['data'].get('movies', [])
xbmc.log(f"Debug: Zobrazuji filmy v kolekci {collection['file']} (počet {len(movies)})", xbmc.LOGDEBUG)
movies_with_index = list(enumerate(movies))
sorted_movies = sorted(movies_with_index, key=lambda item: (item[1].get('title') or f'Film {item[0] + 1}').lower())
for original_idx, movie in sorted_movies:
movie_title = movie.get('title') or f'Film {original_idx + 1}'
listitem = xbmcgui.ListItem(label=movie_title)
listitem.setArt({'icon': movie.get('icon') or 'DefaultMovies.png'})
xbmcplugin.addDirectoryItem(
_handle,
get_url(action='mojedb', type='movies', collection_idx=collection_idx, movie_idx=original_idx),
listitem,
True
)
except (ValueError, IndexError) as e:
xbmc.log(f"Chyba při zobrazení filmové kolekce: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při zobrazení filmové kolekce: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
# Vyhledání konkrétního filmu # Vyhledání konkrétního filmu
elif params.get('type') == 'movies' and params.get('movie_idx') is not None: elif params.get('type') == 'movies' and params.get('collection_idx') is not None and params.get('movie_idx') is not None:
movie = dbdata['movies'][int(params['movie_idx'])] try:
collection_idx = int(params['collection_idx'])
movie_idx = int(params['movie_idx'])
collection = movies_collections[collection_idx]
movie_list = collection['data'].get('movies', [])
movie = movie_list[movie_idx]
except (ValueError, IndexError) as e:
xbmc.log(f"Chyba při načítání filmu: {str(e)}", xbmc.LOGERROR)
popinfo(f"Chyba při načítání filmu: {str(e)}", icon=xbmcgui.NOTIFICATION_ERROR, sound=True)
xbmcplugin.endOfDirectory(_handle, updateListing=updateListing)
return
collection_icon = collection['data'].get('icon', 'DefaultMovies.png')
if 'ident' in movie: if 'ident' in movie:
if verify_ident(movie['ident'], token): if verify_ident(movie['ident'], token):
# Vytvoř přehrávatelnou položku # Vytvoř přehrávatelnou položku
listitem = xbmcgui.ListItem(label=movie['title']) listitem = xbmcgui.ListItem(label=movie['title'])
listitem.setArt({'icon': movie.get('icon', 'DefaultMovies.png')}) listitem.setArt({'icon': movie.get('icon', collection_icon)})
listitem.setInfo('video', {'title': movie['title']}) listitem.setInfo('video', {'title': movie['title']})
listitem.setProperty('IsPlayable', 'true') listitem.setProperty('IsPlayable', 'true')
xbmcplugin.addDirectoryItem(_handle, get_url(action='play', ident=movie['ident'], name=movie['title']), listitem, False) xbmcplugin.addDirectoryItem(_handle, get_url(action='play', ident=movie['ident'], name=movie['title']), listitem, False)
# Ukonči adresář bez volání endOfDirectory na konci # Ukonči adresář bez volání endOfDirectory na konci
xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL) xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL)
popinfo("Debug: Ukončuji mojedb funkci")
xbmcplugin.endOfDirectory(_handle, updateListing=updateListing) xbmcplugin.endOfDirectory(_handle, updateListing=updateListing)
return return
else: else:
popinfo("Debug: Ident filmu není platný, zobrazuji výsledky vyhledávání")
# Pokud ident není platný, použij vyhledávání # Pokud ident není platný, použij vyhledávání
what = movie['search'] what = movie['search']
category = 'video' category = 'video'
@@ -894,7 +1057,6 @@ def mojedb(params):
offset = 0 offset = 0
dosearch(token, what, category, sort, limit, offset, 'search') dosearch(token, what, category, sort, limit, offset, 'search')
else: else:
popinfo("Debug: Film nemá ident, zobrazuji výsledky vyhledávání")
what = movie['search'] what = movie['search']
category = 'video' category = 'video'
sort = 'recent' sort = 'recent'
@@ -903,7 +1065,6 @@ def mojedb(params):
dosearch(token, what, category, sort, limit, offset, 'search') dosearch(token, what, category, sort, limit, offset, 'search')
xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL) xbmcplugin.addSortMethod(_handle, xbmcplugin.SORT_METHOD_LABEL)
popinfo("Debug: Ukončuji mojedb funkci")
xbmcplugin.endOfDirectory(_handle, updateListing=updateListing) xbmcplugin.endOfDirectory(_handle, updateListing=updateListing)
def menu(): def menu():
@@ -943,7 +1104,6 @@ def router(paramstring):
if params: if params:
action = params.get('action', 'none') action = params.get('action', 'none')
xbmc.log(f"Debug: Router - action: {action}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Router - action: {action}", xbmc.LOGDEBUG)
popinfo(f"Debug: Router - action: {action}")
if action == 'search': if action == 'search':
search(params) search(params)
@@ -963,7 +1123,6 @@ def router(paramstring):
db(params) db(params)
elif action == 'mojedb': elif action == 'mojedb':
xbmc.log(f"Debug: Router - volám mojedb s parametry: {params}", xbmc.LOGDEBUG) xbmc.log(f"Debug: Router - volám mojedb s parametry: {params}", xbmc.LOGDEBUG)
popinfo(f"Debug: Router - volám mojedb")
mojedb(params) mojedb(params)
else: else:
xbmc.log(f"Debug: Router - neznámá akce: {action}, volám menu", xbmc.LOGDEBUG) xbmc.log(f"Debug: Router - neznámá akce: {action}, volám menu", xbmc.LOGDEBUG)

BIN
resources/.DS_Store vendored

Binary file not shown.

View File

@@ -1,16 +1,11 @@
{ {
"title": "Akční filmy", "title": "Top 5 akční filmy",
"icon": "DefaultMovies.png", "icon": "DefaultMovies.png",
"movies": [ "movies": [
{ { "title": "John Wick", "icon": "DefaultMovies.png", "search": "john wick cz" },
"title": "The Matrix", { "title": "Mad Max: Fury Road", "icon": "DefaultMovies.png", "search": "mad max fury road cz" },
"icon": "DefaultMovies.png", { "title": "Gladiátor", "icon": "DefaultMovies.png", "search": "gladiator cz" },
"search": "matrix" { "title": "Temný rytíř", "icon": "DefaultMovies.png", "search": "temny rytir cz" },
}, { "title": "Mission: Impossible Fallout", "icon": "DefaultMovies.png", "search": "mission impossible fallout cz" }
{
"title": "Inception",
"icon": "DefaultMovies.png",
"search": "inception"
}
] ]
} }

View File

@@ -0,0 +1,15 @@
{
"title": "Fantasy filmy",
"icon": "DefaultMovies.png",
"movies": [
{ "title": "Pán prstenů: Společenstvo prstenu", "icon": "DefaultMovies.png", "search": "pan prstenu spolecenstvo prstenu cz" },
{ "title": "Pán prstenů: Dvě věže", "icon": "DefaultMovies.png", "search": "pan prstenu dve veze cz" },
{ "title": "Pán prstenů: Návrat krále", "icon": "DefaultMovies.png", "search": "pan prstenu navrat krale cz" },
{ "title": "Hobit: Neočekávaná cesta", "icon": "DefaultMovies.png", "search": "hobit neocekavana cesta cz" },
{ "title": "Hobit: Šmakova dračí poušť", "icon": "DefaultMovies.png", "search": "hobit smakova draci poust cz" },
{ "title": "Hobit: Bitva pěti armád", "icon": "DefaultMovies.png", "search": "hobit bitva peti armad cz" },
{ "title": "Letopisy Narnie: Lev, čarodějnice a skříň", "icon": "DefaultMovies.png", "search": "letopisy narnie lev carodejnice a skrin cz" },
{ "title": "Faunův labyrint", "icon": "DefaultMovies.png", "search": "faunuv labyrint cz" },
{ "title": "Princezna nevěsta", "icon": "DefaultMovies.png", "search": "princezna nevesta cz" }
]
}

View File

@@ -0,0 +1,14 @@
{
"title": "Harry Potter sága",
"icon": "DefaultMovies.png",
"movies": [
{ "title": "Harry Potter a Kámen mudrců", "icon": "DefaultMovies.png", "search": "harry potter kamen mudrcu cz" },
{ "title": "Harry Potter a Tajemná komnata", "icon": "DefaultMovies.png", "search": "harry potter tajemna komnata cz" },
{ "title": "Harry Potter a Vězeň z Azkabanu", "icon": "DefaultMovies.png", "search": "harry potter vezen z azkabanu cz" },
{ "title": "Harry Potter a Ohnivý pohár", "icon": "DefaultMovies.png", "search": "harry potter ohnivy pohar cz" },
{ "title": "Harry Potter a Fénixův řád", "icon": "DefaultMovies.png", "search": "harry potter fenixuv rad cz" },
{ "title": "Harry Potter a Princ dvojí krve", "icon": "DefaultMovies.png", "search": "harry potter princ dvoji krve cz" },
{ "title": "Harry Potter a Relikvie smrti část 1", "icon": "DefaultMovies.png", "search": "harry potter relikvie smrti cast 1 cz" },
{ "title": "Harry Potter a Relikvie smrti část 2", "icon": "DefaultMovies.png", "search": "harry potter relikvie smrti cast 2 cz" }
]
}

View File

@@ -0,0 +1,32 @@
{
"title": "Pohádky a rodinné filmy",
"icon": "DefaultMovies.png",
"movies": [
{ "title": "Asterix a Obelix proti Caesarovi", "icon": "DefaultMovies.png", "search": "asterix a obelix proti cezarovi cz" },
{ "title": "Asterix a Obelix: Mise Kleopatra", "icon": "DefaultMovies.png", "search": "asterix a obelix mise kleopatra cz" },
{ "title": "Asterix a Obelix: Olympijské hry", "icon": "DefaultMovies.png", "search": "asterix a obelix olympijske hry cz" },
{ "title": "Asterix a Obelix ve službách jejího veličenstva", "icon": "DefaultMovies.png", "search": "asterix a obelix ve sluzbach jejiho velicenstva cz" },
{ "title": "Asterix a Obelix: Říše středu", "icon": "DefaultMovies.png", "search": "asterix a obelix rise stredu cz" },
{ "title": "Asterix: Sídliště bohů", "icon": "DefaultMovies.png", "search": "asterix sidliste bohu cz" },
{ "title": "Asterix: Tajemství kouzelného lektvaru", "icon": "DefaultMovies.png", "search": "asterix tajemstvi kouzelneho lektvaru cz" },
{ "title": "Asterix dobývá Ameriku", "icon": "DefaultMovies.png", "search": "asterix dobyva ameriku cz" },
{ "title": "Asterix a Vikingové", "icon": "DefaultMovies.png", "search": "asterix a vikingove cz" },
{ "title": "Doba ledová", "icon": "DefaultMovies.png", "search": "doba ledova 1 cz" },
{ "title": "Doba ledová 2: Obleva", "icon": "DefaultMovies.png", "search": "doba ledova 2 obleva cz" },
{ "title": "Doba ledová 3: Úsvit dinosaurů", "icon": "DefaultMovies.png", "search": "doba ledova 3 usvit dinosauru cz" },
{ "title": "Doba ledová 4: Země v pohybu", "icon": "DefaultMovies.png", "search": "doba ledova 4 zeme v pohybu cz" },
{ "title": "Doba ledová: Mamutí drcnutí", "icon": "DefaultMovies.png", "search": "doba ledova mamuti drcnuti cz" },
{ "title": "Madagaskar", "icon": "DefaultMovies.png", "search": "madagaskar 1 cz" },
{ "title": "Madagaskar 2: Útěk do Afriky", "icon": "DefaultMovies.png", "search": "madagaskar 2 utek do afriky cz" },
{ "title": "Madagaskar 3: Evropské šílenství", "icon": "DefaultMovies.png", "search": "madagaskar 3 evropske silenstvi cz" },
{ "title": "Tučňáci z Madagaskaru", "icon": "DefaultMovies.png", "search": "tucnaci z madagaskaru film cz" },
{ "title": "Tři oříšky pro Popelku", "icon": "DefaultMovies.png", "search": "tri orisky pro popelku cz" },
{ "title": "Pyšná princezna", "icon": "DefaultMovies.png", "search": "pysna princezna cz" },
{ "title": "S čerty nejsou žerty", "icon": "DefaultMovies.png", "search": "s certy nejsou zerty cz" },
{ "title": "Anděl Páně", "icon": "DefaultMovies.png", "search": "andel pane cz" },
{ "title": "Anděl Páně 2", "icon": "DefaultMovies.png", "search": "andel pane 2 cz" },
{ "title": "Princezna ze mlejna", "icon": "DefaultMovies.png", "search": "princezna ze mlejna cz" },
{ "title": "Princezna se zlatou hvězdou", "icon": "DefaultMovies.png", "search": "princezna se zlatou hvezdou cz" },
{ "title": "Ať žijí duchové!", "icon": "DefaultMovies.png", "search": "at ziji duchove cz" }
]
}

View File

@@ -0,0 +1,11 @@
{
"title": "Top 5 sci-fi filmy",
"icon": "DefaultMovies.png",
"movies": [
{ "title": "Blade Runner 2049", "icon": "DefaultMovies.png", "search": "blade runner 2049 cz" },
{ "title": "Interstellar", "icon": "DefaultMovies.png", "search": "interstellar cz" },
{ "title": "Matrix", "icon": "DefaultMovies.png", "search": "matrix cz" },
{ "title": "Příchozí (Arrival)", "icon": "DefaultMovies.png", "search": "prichozi arrival cz" },
{ "title": "Star Wars: Impérium vrací úder", "icon": "DefaultMovies.png", "search": "star wars imperium vraci uder cz" }
]
}

View File

@@ -0,0 +1,93 @@
{
"title": "Breaking Bad",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Pilot", "search": "breaking bad s01e01" },
{ "title": "S01E02 - Cat's in the Bag...", "search": "breaking bad s01e02" },
{ "title": "S01E03 - ...And the Bag's in the River", "search": "breaking bad s01e03" },
{ "title": "S01E04 - Cancer Man", "search": "breaking bad s01e04" },
{ "title": "S01E05 - Gray Matter", "search": "breaking bad s01e05" },
{ "title": "S01E06 - Crazy Handful of Nothin'", "search": "breaking bad s01e06" },
{ "title": "S01E07 - A No-Rough-Stuff-Type Deal", "search": "breaking bad s01e07" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - Seven Thirty-Seven", "search": "breaking bad s02e01" },
{ "title": "S02E02 - Grilled", "search": "breaking bad s02e02" },
{ "title": "S02E03 - Bit by a Dead Bee", "search": "breaking bad s02e03" },
{ "title": "S02E04 - Down", "search": "breaking bad s02e04" },
{ "title": "S02E05 - Breakage", "search": "breaking bad s02e05" },
{ "title": "S02E06 - Peekaboo", "search": "breaking bad s02e06" },
{ "title": "S02E07 - Negro y Azul", "search": "breaking bad s02e07" },
{ "title": "S02E08 - Better Call Saul", "search": "breaking bad s02e08" },
{ "title": "S02E09 - 4 Days Out", "search": "breaking bad s02e09" },
{ "title": "S02E10 - Over", "search": "breaking bad s02e10" },
{ "title": "S02E11 - Mandala", "search": "breaking bad s02e11" },
{ "title": "S02E12 - Phoenix", "search": "breaking bad s02e12" },
{ "title": "S02E13 - ABQ", "search": "breaking bad s02e13" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - No Más", "search": "breaking bad s03e01" },
{ "title": "S03E02 - Caballo sin Nombre", "search": "breaking bad s03e02" },
{ "title": "S03E03 - I.F.T.", "search": "breaking bad s03e03" },
{ "title": "S03E04 - Green Light", "search": "breaking bad s03e04" },
{ "title": "S03E05 - Más", "search": "breaking bad s03e05" },
{ "title": "S03E06 - Sunset", "search": "breaking bad s03e06" },
{ "title": "S03E07 - One Minute", "search": "breaking bad s03e07" },
{ "title": "S03E08 - I See You", "search": "breaking bad s03e08" },
{ "title": "S03E09 - Kafkaesque", "search": "breaking bad s03e09" },
{ "title": "S03E10 - Fly", "search": "breaking bad s03e10" },
{ "title": "S03E11 - Abiquiu", "search": "breaking bad s03e11" },
{ "title": "S03E12 - Half Measures", "search": "breaking bad s03e12" },
{ "title": "S03E13 - Full Measure", "search": "breaking bad s03e13" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Box Cutter", "search": "breaking bad s04e01" },
{ "title": "S04E02 - Thirty-Eight Snub", "search": "breaking bad s04e02" },
{ "title": "S04E03 - Open House", "search": "breaking bad s04e03" },
{ "title": "S04E04 - Bullet Points", "search": "breaking bad s04e04" },
{ "title": "S04E05 - Shotgun", "search": "breaking bad s04e05" },
{ "title": "S04E06 - Cornered", "search": "breaking bad s04e06" },
{ "title": "S04E07 - Problem Dog", "search": "breaking bad s04e07" },
{ "title": "S04E08 - Hermanos", "search": "breaking bad s04e08" },
{ "title": "S04E09 - Bug", "search": "breaking bad s04e09" },
{ "title": "S04E10 - Salud", "search": "breaking bad s04e10" },
{ "title": "S04E11 - Crawl Space", "search": "breaking bad s04e11" },
{ "title": "S04E12 - End Times", "search": "breaking bad s04e12" },
{ "title": "S04E13 - Face Off", "search": "breaking bad s04e13" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - Live Free or Die", "search": "breaking bad s05e01" },
{ "title": "S05E02 - Madrigal", "search": "breaking bad s05e02" },
{ "title": "S05E03 - Hazard Pay", "search": "breaking bad s05e03" },
{ "title": "S05E04 - Fifty-One", "search": "breaking bad s05e04" },
{ "title": "S05E05 - Dead Freight", "search": "breaking bad s05e05" },
{ "title": "S05E06 - Buyout", "search": "breaking bad s05e06" },
{ "title": "S05E07 - Say My Name", "search": "breaking bad s05e07" },
{ "title": "S05E08 - Gliding Over All", "search": "breaking bad s05e08" },
{ "title": "S05E09 - Blood Money", "search": "breaking bad s05e09" },
{ "title": "S05E10 - Buried", "search": "breaking bad s05e10" },
{ "title": "S05E11 - Confessions", "search": "breaking bad s05e11" },
{ "title": "S05E12 - Rabid Dog", "search": "breaking bad s05e12" },
{ "title": "S05E13 - To'hajiilee", "search": "breaking bad s05e13" },
{ "title": "S05E14 - Ozymandias", "search": "breaking bad s05e14" },
{ "title": "S05E15 - Granite State", "search": "breaking bad s05e15" },
{ "title": "S05E16 - Felina", "search": "breaking bad s05e16" }
]
}
]
}

View File

@@ -0,0 +1,139 @@
{
"title": "Červený trpaslík",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Konec", "search": "cerveny trpaslik s01e01" },
{ "title": "S01E02 - Budoucí echos", "search": "cerveny trpaslik s01e02" },
{ "title": "S01E03 - Rovnováha sil", "search": "cerveny trpaslik s01e03" },
{ "title": "S01E04 - Čekání na Boha", "search": "cerveny trpaslik s01e04" },
{ "title": "S01E05 - Přesvědčivý důkaz", "search": "cerveny trpaslik s01e05" },
{ "title": "S01E06 - Me and My Shadow", "search": "cerveny trpaslik s01e06" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - Kryton", "search": "cerveny trpaslik s02e01" },
{ "title": "S02E02 - Lepší než život", "search": "cerveny trpaslik s02e02" },
{ "title": "S02E03 - Důvod a logika", "search": "cerveny trpaslik s02e03" },
{ "title": "S02E04 - Lepší než život II", "search": "cerveny trpaslik s02e04" },
{ "title": "S02E05 - Důvod a logika II", "search": "cerveny trpaslik s02e05" },
{ "title": "S02E06 - Stasis Leak", "search": "cerveny trpaslik s02e06" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - Backwards", "search": "cerveny trpaslik s03e01" },
{ "title": "S03E02 - Marooned", "search": "cerveny trpaslik s03e02" },
{ "title": "S03E03 - Polymorph", "search": "cerveny trpaslik s03e03" },
{ "title": "S03E04 - Bodyswap", "search": "cerveny trpaslik s03e04" },
{ "title": "S03E05 - Timeslides", "search": "cerveny trpaslik s03e05" },
{ "title": "S03E06 - The Last Day", "search": "cerveny trpaslik s03e06" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Camille", "search": "cerveny trpaslik s04e01" },
{ "title": "S04E02 - DNA", "search": "cerveny trpaslik s04e02" },
{ "title": "S04E03 - Justice", "search": "cerveny trpaslik s04e03" },
{ "title": "S04E04 - White Hole", "search": "cerveny trpaslik s04e04" },
{ "title": "S04E05 - Dimension Jump", "search": "cerveny trpaslik s04e05" },
{ "title": "S04E06 - Meltdown", "search": "cerveny trpaslik s04e06" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - Holoship", "search": "cerveny trpaslik s05e01" },
{ "title": "S05E02 - The Inquisitor", "search": "cerveny trpaslik s05e02" },
{ "title": "S05E03 - Terrorform", "search": "cerveny trpaslik s05e03" },
{ "title": "S05E04 - Quarantine", "search": "cerveny trpaslik s05e04" },
{ "title": "S05E05 - Demons and Angels", "search": "cerveny trpaslik s05e05" },
{ "title": "S05E06 - Back to Reality", "search": "cerveny trpaslik s05e06" }
]
},
{
"season": 6,
"episodes": [
{ "title": "S06E01 - Psirens", "search": "cerveny trpaslik s06e01" },
{ "title": "S06E02 - Legion", "search": "cerveny trpaslik s06e02" },
{ "title": "S06E03 - Gunmen of the Apocalypse", "search": "cerveny trpaslik s06e03" },
{ "title": "S06E04 - Emohawk: Polymorph II", "search": "cerveny trpaslik s06e04" },
{ "title": "S06E05 - Rimmerworld", "search": "cerveny trpaslik s06e05" },
{ "title": "S06E06 - Out of Time", "search": "cerveny trpaslik s06e06" }
]
},
{
"season": 7,
"episodes": [
{ "title": "S07E01 - Tikka to Ride", "search": "cerveny trpaslik s07e01" },
{ "title": "S07E02 - Stoke Me a Clipper", "search": "cerveny trpaslik s07e02" },
{ "title": "S07E03 - Ouroboros", "search": "cerveny trpaslik s07e03" },
{ "title": "S07E04 - Duct Soup", "search": "cerveny trpaslik s07e04" },
{ "title": "S07E05 - Blue", "search": "cerveny trpaslik s07e05" },
{ "title": "S07E06 - Beyond a Joke", "search": "cerveny trpaslik s07e06" },
{ "title": "S07E07 - Epideme", "search": "cerveny trpaslik s07e07" },
{ "title": "S07E08 - Nanarchy", "search": "cerveny trpaslik s07e08" }
]
},
{
"season": 8,
"episodes": [
{ "title": "S08E01 - Back in the Red: Part 1", "search": "cerveny trpaslik s08e01" },
{ "title": "S08E02 - Back in the Red: Part 2", "search": "cerveny trpaslik s08e02" },
{ "title": "S08E03 - Back in the Red: Part 3", "search": "cerveny trpaslik s08e03" },
{ "title": "S08E04 - Cassandra", "search": "cerveny trpaslik s08e04" },
{ "title": "S08E05 - Krytie TV", "search": "cerveny trpaslik s08e05" },
{ "title": "S08E06 - Pete: Part 1", "search": "cerveny trpaslik s08e06" },
{ "title": "S08E07 - Pete: Part 2", "search": "cerveny trpaslik s08e07" },
{ "title": "S08E08 - Only the Good...", "search": "cerveny trpaslik s08e08" }
]
},
{
"season": 9,
"episodes": [
{ "title": "S09E01 - Back to Earth: Part 1", "search": "cerveny trpaslik s09e01" },
{ "title": "S09E02 - Back to Earth: Part 2", "search": "cerveny trpaslik s09e02" },
{ "title": "S09E03 - Back to Earth: Part 3", "search": "cerveny trpaslik s09e03" }
]
},
{
"season": 10,
"episodes": [
{ "title": "S10E01 - Trojan", "search": "cerveny trpaslik s10e01" },
{ "title": "S10E02 - Fathers and Suns", "search": "cerveny trpaslik s10e02" },
{ "title": "S10E03 - Lemons", "search": "cerveny trpaslik s10e03" },
{ "title": "S10E04 - Entangled", "search": "cerveny trpaslik s10e04" },
{ "title": "S10E05 - Dear Dave", "search": "cerveny trpaslik s10e05" },
{ "title": "S10E06 - The Beginning", "search": "cerveny trpaslik s10e06" }
]
},
{
"season": 11,
"episodes": [
{ "title": "S11E01 - Twentica", "search": "cerveny trpaslik s11e01" },
{ "title": "S11E02 - Samsara", "search": "cerveny trpaslik s11e02" },
{ "title": "S11E03 - Give and Take", "search": "cerveny trpaslik s11e03" },
{ "title": "S11E04 - Officer Rimmer", "search": "cerveny trpaslik s11e04" },
{ "title": "S11E05 - Krysis", "search": "cerveny trpaslik s11e05" },
{ "title": "S11E06 - Can of Worms", "search": "cerveny trpaslik s11e06" }
]
},
{
"season": 12,
"episodes": [
{ "title": "S12E01 - Cured", "search": "cerveny trpaslik s12e01" },
{ "title": "S12E02 - Siliconia", "search": "cerveny trpaslik s12e02" },
{ "title": "S12E03 - Mechocracy", "search": "cerveny trpaslik s12e03" },
{ "title": "S12E04 - M-Corp", "search": "cerveny trpaslik s12e04" },
{ "title": "S12E05 - Skipper", "search": "cerveny trpaslik s12e05" },
{ "title": "S12E06 - The Promised Land", "search": "cerveny trpaslik s12e06" }
]
}
]
}

View File

@@ -2,6 +2,21 @@
"title": "Hra o trůny (Game of Thrones)", "title": "Hra o trůny (Game of Thrones)",
"icon": "DefaultTVShows.png", "icon": "DefaultTVShows.png",
"seasons": [ "seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Zima se blíží", "search": "hra o truny s01e01" },
{ "title": "S01E02 - Králova cesta", "search": "hra o truny s01e02" },
{ "title": "S01E03 - Lord Snow", "search": "hra o truny s01e03" },
{ "title": "S01E04 - Mrzák, bastardi a zlá zmrzačená věc", "search": "hra o truny s01e04" },
{ "title": "S01E05 - Vlk a lev", "search": "hra o truny s01e05" },
{ "title": "S01E06 - Zlatá koruna", "search": "hra o truny s01e06" },
{ "title": "S01E07 - Vyhraj, nebo zemři", "search": "hra o truny s01e07" },
{ "title": "S01E08 - Zostuzení", "search": "hra o truny s01e08" },
{ "title": "S01E09 - Baelor", "search": "hra o truny s01e09" },
{ "title": "S01E10 - Oheň a krev", "search": "hra o truny s01e10" }
]
},
{ {
"season": 2, "season": 2,
"episodes": [ "episodes": [

261
resources/series/himym.json Normal file
View File

@@ -0,0 +1,261 @@
{
"title": "Jak jsem poznal vaši matku (How I Met Your Mother)",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Pilotní díl", "search": "jak jsem poznal vasi matku s01e01" },
{ "title": "S01E02 - Fialová žirafa", "search": "jak jsem poznal vasi matku s01e02" },
{ "title": "S01E03 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s01e03" },
{ "title": "S01E04 - Návrat z porodu", "search": "jak jsem poznal vasi matku s01e04" },
{ "title": "S01E05 - V uvozovkách", "search": "jak jsem poznal vasi matku s01e05" },
{ "title": "S01E06 - Sladká chuť pomsty", "search": "jak jsem poznal vasi matku s01e06" },
{ "title": "S01E07 - Hra na oslovení", "search": "jak jsem poznal vasi matku s01e07" },
{ "title": "S01E08 - Duel", "search": "jak jsem poznal vasi matku s01e08" },
{ "title": "S01E09 - Věčný smolař", "search": "jak jsem poznal vasi matku s01e09" },
{ "title": "S01E10 - Vánoce s dárkem navíc", "search": "jak jsem poznal vasi matku s01e10" },
{ "title": "S01E11 - Noc na nepříjemném místě", "search": "jak jsem poznal vasi matku s01e11" },
{ "title": "S01E12 - Bubák", "search": "jak jsem poznal vasi matku s01e12" },
{ "title": "S01E13 - Bubenická sólo", "search": "jak jsem poznal vasi matku s01e13" },
{ "title": "S01E14 - Zip, zip, zip", "search": "jak jsem poznal vasi matku s01e14" },
{ "title": "S01E15 - Herní večer", "search": "jak jsem poznal vasi matku s01e15" },
{ "title": "S01E16 - Nic víc než párty", "search": "jak jsem poznal vasi matku s01e16" },
{ "title": "S01E17 - Žádná zítra", "search": "jak jsem poznal vasi matku s01e17" },
{ "title": "S01E18 - Starší žena", "search": "jak jsem poznal vasi matku s01e18" },
{ "title": "S01E19 - Mary, paní na zavolání", "search": "jak jsem poznal vasi matku s01e19" },
{ "title": "S01E20 - Muž z tábora", "search": "jak jsem poznal vasi matku s01e20" },
{ "title": "S01E21 - Okno", "search": "jak jsem poznal vasi matku s01e21" },
{ "title": "S01E22 - Stará láska nerezaví", "search": "jak jsem poznal vasi matku s01e22" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - Děkuji, Lilly", "search": "jak jsem poznal vasi matku s02e01" },
{ "title": "S02E02 - Sklenice piva", "search": "jak jsem poznal vasi matku s02e02" },
{ "title": "S02E03 - Brunch", "search": "jak jsem poznal vasi matku s02e03" },
{ "title": "S02E04 - Ted Mosby: Architekt", "search": "jak jsem poznal vasi matku s02e04" },
{ "title": "S02E05 - Svatební zvony", "search": "jak jsem poznal vasi matku s02e05" },
{ "title": "S02E06 - Aldrinova spravedlnost", "search": "jak jsem poznal vasi matku s02e06" },
{ "title": "S02E07 - Svatební host", "search": "jak jsem poznal vasi matku s02e07" },
{ "title": "S02E08 - Stříbrná rybka", "search": "jak jsem poznal vasi matku s02e08" },
{ "title": "S02E09 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s02e09" },
{ "title": "S02E10 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s02e10" },
{ "title": "S02E11 - Jak Lily ukradla Vánoce", "search": "jak jsem poznal vasi matku s02e11" },
{ "title": "S02E12 - První čas", "search": "jak jsem poznal vasi matku s02e12" },
{ "title": "S02E13 - Sladká chuť pomsty", "search": "jak jsem poznal vasi matku s02e13" },
{ "title": "S02E14 - Pondělí večer", "search": "jak jsem poznal vasi matku s02e14" },
{ "title": "S02E15 - Zlomené srdce", "search": "jak jsem poznal vasi matku s02e15" },
{ "title": "S02E16 - Zásnubní prsten", "search": "jak jsem poznal vasi matku s02e16" },
{ "title": "S02E17 - Zásnubní večírek", "search": "jak jsem poznal vasi matku s02e17" },
{ "title": "S02E18 - Pohádka o dvou městech", "search": "jak jsem poznal vasi matku s02e18" },
{ "title": "S02E19 - Bachelor Party", "search": "jak jsem poznal vasi matku s02e19" },
{ "title": "S02E20 - Showdown", "search": "jak jsem poznal vasi matku s02e20" },
{ "title": "S02E21 - Svatební den", "search": "jak jsem poznal vasi matku s02e21" },
{ "title": "S02E22 - Rozchod", "search": "jak jsem poznal vasi matku s02e22" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - Čekání", "search": "jak jsem poznal vasi matku s03e01" },
{ "title": "S03E02 - Jedna noc", "search": "jak jsem poznal vasi matku s03e02" },
{ "title": "S03E03 - Třetí kolo", "search": "jak jsem poznal vasi matku s03e03" },
{ "title": "S03E04 - Malý dům", "search": "jak jsem poznal vasi matku s03e04" },
{ "title": "S03E05 - Jak jsem se seznámil s vaším tátou", "search": "jak jsem poznal vasi matku s03e05" },
{ "title": "S03E06 - Já, robot", "search": "jak jsem poznal vasi matku s03e06" },
{ "title": "S03E07 - Svatba", "search": "jak jsem poznal vasi matku s03e07" },
{ "title": "S03E08 - Zpátky v sedle", "search": "jak jsem poznal vasi matku s03e08" },
{ "title": "S03E09 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s03e09" },
{ "title": "S03E10 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s03e10" },
{ "title": "S03E11 - Nový začátek", "search": "jak jsem poznal vasi matku s03e11" },
{ "title": "S03E12 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s03e12" },
{ "title": "S03E13 - Dvojité rande", "search": "jak jsem poznal vasi matku s03e13" },
{ "title": "S03E14 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s03e14" },
{ "title": "S03E15 - Řetězová reakce", "search": "jak jsem poznal vasi matku s03e15" },
{ "title": "S03E16 - Den otců", "search": "jak jsem poznal vasi matku s03e16" },
{ "title": "S03E17 - Dvojí život", "search": "jak jsem poznal vasi matku s03e17" },
{ "title": "S03E18 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s03e18" },
{ "title": "S03E19 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s03e19" },
{ "title": "S03E20 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s03e20" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Do It Yourself", "search": "jak jsem poznal vasi matku s04e01" },
{ "title": "S04E02 - Nejlepší burger v New Yorku", "search": "jak jsem poznal vasi matku s04e02" },
{ "title": "S04E03 - Společná dovolená", "search": "jak jsem poznal vasi matku s04e03" },
{ "title": "S04E04 - Zásnubní prsten", "search": "jak jsem poznal vasi matku s04e04" },
{ "title": "S04E05 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s04e05" },
{ "title": "S04E06 - Dvojité rande", "search": "jak jsem poznal vasi matku s04e06" },
{ "title": "S04E07 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s04e07" },
{ "title": "S04E08 - Dvojí život", "search": "jak jsem poznal vasi matku s04e08" },
{ "title": "S04E09 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s04e09" },
{ "title": "S04E10 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s04e10" },
{ "title": "S04E11 - Nový začátek", "search": "jak jsem poznal vasi matku s04e11" },
{ "title": "S04E12 - Dvojité rande", "search": "jak jsem poznal vasi matku s04e12" },
{ "title": "S04E13 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s04e13" },
{ "title": "S04E14 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s04e14" },
{ "title": "S04E15 - Dvojí život", "search": "jak jsem poznal vasi matku s04e15" },
{ "title": "S04E16 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s04e16" },
{ "title": "S04E17 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s04e17" },
{ "title": "S04E18 - Nový začátek", "search": "jak jsem poznal vasi matku s04e18" },
{ "title": "S04E19 - Dvojité rande", "search": "jak jsem poznal vasi matku s04e19" },
{ "title": "S04E20 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s04e20" },
{ "title": "S04E21 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s04e21" },
{ "title": "S04E22 - Dvojí život", "search": "jak jsem poznal vasi matku s04e22" },
{ "title": "S04E23 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s04e23" },
{ "title": "S04E24 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s04e24" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - Definice", "search": "jak jsem poznal vasi matku s05e01" },
{ "title": "S05E02 - Dvojité rande", "search": "jak jsem poznal vasi matku s05e02" },
{ "title": "S05E03 - Robin 101", "search": "jak jsem poznal vasi matku s05e03" },
{ "title": "S05E04 - Dětská hra", "search": "jak jsem poznal vasi matku s05e04" },
{ "title": "S05E05 - Dvojí život", "search": "jak jsem poznal vasi matku s05e05" },
{ "title": "S05E06 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s05e06" },
{ "title": "S05E07 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s05e07" },
{ "title": "S05E08 - Nový začátek", "search": "jak jsem poznal vasi matku s05e08" },
{ "title": "S05E09 - Dvojité rande", "search": "jak jsem poznal vasi matku s05e09" },
{ "title": "S05E10 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s05e10" },
{ "title": "S05E11 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s05e11" },
{ "title": "S05E12 - Dvojí život", "search": "jak jsem poznal vasi matku s05e12" },
{ "title": "S05E13 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s05e13" },
{ "title": "S05E14 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s05e14" },
{ "title": "S05E15 - Nový začátek", "search": "jak jsem poznal vasi matku s05e15" },
{ "title": "S05E16 - Dvojité rande", "search": "jak jsem poznal vasi matku s05e16" },
{ "title": "S05E17 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s05e17" },
{ "title": "S05E18 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s05e18" },
{ "title": "S05E19 - Dvojí život", "search": "jak jsem poznal vasi matku s05e19" },
{ "title": "S05E20 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s05e20" },
{ "title": "S05E21 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s05e21" },
{ "title": "S05E22 - Nový začátek", "search": "jak jsem poznal vasi matku s05e22" },
{ "title": "S05E23 - Dvojité rande", "search": "jak jsem poznal vasi matku s05e23" },
{ "title": "S05E24 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s05e24" }
]
},
{
"season": 6,
"episodes": [
{ "title": "S06E01 - Velká odhalení", "search": "jak jsem poznal vasi matku s06e01" },
{ "title": "S06E02 - Červená koberec", "search": "jak jsem poznal vasi matku s06e02" },
{ "title": "S06E03 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s06e03" },
{ "title": "S06E04 - Dvojité rande", "search": "jak jsem poznal vasi matku s06e04" },
{ "title": "S06E05 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s06e05" },
{ "title": "S06E06 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s06e06" },
{ "title": "S06E07 - Nový začátek", "search": "jak jsem poznal vasi matku s06e07" },
{ "title": "S06E08 - Dvojité rande", "search": "jak jsem poznal vasi matku s06e08" },
{ "title": "S06E09 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s06e09" },
{ "title": "S06E10 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s06e10" },
{ "title": "S06E11 - Dvojí život", "search": "jak jsem poznal vasi matku s06e11" },
{ "title": "S06E12 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s06e12" },
{ "title": "S06E13 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s06e13" },
{ "title": "S06E14 - Nový začátek", "search": "jak jsem poznal vasi matku s06e14" },
{ "title": "S06E15 - Dvojité rande", "search": "jak jsem poznal vasi matku s06e15" },
{ "title": "S06E16 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s06e16" },
{ "title": "S06E17 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s06e17" },
{ "title": "S06E18 - Dvojí život", "search": "jak jsem poznal vasi matku s06e18" },
{ "title": "S06E19 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s06e19" },
{ "title": "S06E20 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s06e20" },
{ "title": "S06E21 - Nový začátek", "search": "jak jsem poznal vasi matku s06e21" },
{ "title": "S06E22 - Dvojité rande", "search": "jak jsem poznal vasi matku s06e22" },
{ "title": "S06E23 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s06e23" },
{ "title": "S06E24 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s06e24" }
]
},
{
"season": 7,
"episodes": [
{ "title": "S07E01 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s07e01" },
{ "title": "S07E02 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s07e02" },
{ "title": "S07E03 - Nový začátek", "search": "jak jsem poznal vasi matku s07e03" },
{ "title": "S07E04 - Dvojité rande", "search": "jak jsem poznal vasi matku s07e04" },
{ "title": "S07E05 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s07e05" },
{ "title": "S07E06 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s07e06" },
{ "title": "S07E07 - Dvojí život", "search": "jak jsem poznal vasi matku s07e07" },
{ "title": "S07E08 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s07e08" },
{ "title": "S07E09 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s07e09" },
{ "title": "S07E10 - Nový začátek", "search": "jak jsem poznal vasi matku s07e10" },
{ "title": "S07E11 - Dvojité rande", "search": "jak jsem poznal vasi matku s07e11" },
{ "title": "S07E12 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s07e12" },
{ "title": "S07E13 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s07e13" },
{ "title": "S07E14 - Dvojí život", "search": "jak jsem poznal vasi matku s07e14" },
{ "title": "S07E15 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s07e15" },
{ "title": "S07E16 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s07e16" },
{ "title": "S07E17 - Nový začátek", "search": "jak jsem poznal vasi matku s07e17" },
{ "title": "S07E18 - Dvojité rande", "search": "jak jsem poznal vasi matku s07e18" },
{ "title": "S07E19 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s07e19" },
{ "title": "S07E20 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s07e20" },
{ "title": "S07E21 - Dvojí život", "search": "jak jsem poznal vasi matku s07e21" },
{ "title": "S07E22 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s07e22" },
{ "title": "S07E23 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s07e23" },
{ "title": "S07E24 - Nový začátek", "search": "jak jsem poznal vasi matku s07e24" }
]
},
{
"season": 8,
"episodes": [
{ "title": "S08E01 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s08e01" },
{ "title": "S08E02 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s08e02" },
{ "title": "S08E03 - Nový začátek", "search": "jak jsem poznal vasi matku s08e03" },
{ "title": "S08E04 - Dvojité rande", "search": "jak jsem poznal vasi matku s08e04" },
{ "title": "S08E05 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s08e05" },
{ "title": "S08E06 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s08e06" },
{ "title": "S08E07 - Dvojí život", "search": "jak jsem poznal vasi matku s08e07" },
{ "title": "S08E08 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s08e08" },
{ "title": "S08E09 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s08e09" },
{ "title": "S08E10 - Nový začátek", "search": "jak jsem poznal vasi matku s08e10" },
{ "title": "S08E11 - Dvojité rande", "search": "jak jsem poznal vasi matku s08e11" },
{ "title": "S08E12 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s08e12" },
{ "title": "S08E13 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s08e13" },
{ "title": "S08E14 - Dvojí život", "search": "jak jsem poznal vasi matku s08e14" },
{ "title": "S08E15 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s08e15" },
{ "title": "S08E16 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s08e16" },
{ "title": "S08E17 - Nový začátek", "search": "jak jsem poznal vasi matku s08e17" },
{ "title": "S08E18 - Dvojité rande", "search": "jak jsem poznal vasi matku s08e18" },
{ "title": "S08E19 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s08e19" },
{ "title": "S08E20 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s08e20" },
{ "title": "S08E21 - Dvojí život", "search": "jak jsem poznal vasi matku s08e21" },
{ "title": "S08E22 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s08e22" },
{ "title": "S08E23 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s08e23" },
{ "title": "S08E24 - Nový začátek", "search": "jak jsem poznal vasi matku s08e24" }
]
},
{
"season": 9,
"episodes": [
{ "title": "S09E01 - Den svatby (1. část)", "search": "jak jsem poznal vasi matku s09e01" },
{ "title": "S09E02 - Den svatby (2. část)", "search": "jak jsem poznal vasi matku s09e02" },
{ "title": "S09E03 - Poslední první rande", "search": "jak jsem poznal vasi matku s09e03" },
{ "title": "S09E04 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s09e04" },
{ "title": "S09E05 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s09e05" },
{ "title": "S09E06 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s09e06" },
{ "title": "S09E07 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s09e07" },
{ "title": "S09E08 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s09e08" },
{ "title": "S09E09 - Nový začátek", "search": "jak jsem poznal vasi matku s09e09" },
{ "title": "S09E10 - Dvojité rande", "search": "jak jsem poznal vasi matku s09e10" },
{ "title": "S09E11 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s09e11" },
{ "title": "S09E12 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s09e12" },
{ "title": "S09E13 - Dvojí život", "search": "jak jsem poznal vasi matku s09e13" },
{ "title": "S09E14 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s09e14" },
{ "title": "S09E15 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s09e15" },
{ "title": "S09E16 - Nový začátek", "search": "jak jsem poznal vasi matku s09e16" },
{ "title": "S09E17 - Dvojité rande", "search": "jak jsem poznal vasi matku s09e17" },
{ "title": "S09E18 - Příběh o dvou partnerech", "search": "jak jsem poznal vasi matku s09e18" },
{ "title": "S09E19 - Nečekané překvapení", "search": "jak jsem poznal vasi matku s09e19" },
{ "title": "S09E20 - Dvojí život", "search": "jak jsem poznal vasi matku s09e20" },
{ "title": "S09E21 - Sladká vůně svobody", "search": "jak jsem poznal vasi matku s09e21" },
{ "title": "S09E22 - Vánoční kouzlo", "search": "jak jsem poznal vasi matku s09e22" },
{ "title": "S09E23 - Nový začátek", "search": "jak jsem poznal vasi matku s09e23" },
{ "title": "S09E24 - Jak jsem poznal vaši matku", "search": "jak jsem poznal vasi matku s09e24" }
]
}
]
}

View File

@@ -0,0 +1,275 @@
{
"title": "Hvězdná brána SG-1 (Stargate SG-1)",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Děti bohů (1. část)", "search": "hvezdna brana sg1 s01e01" },
{ "title": "S01E02 - Děti bohů (2. část)", "search": "hvezdna brana sg1 s01e02" },
{ "title": "S01E03 - Emance", "search": "hvezdna brana sg1 s01e03" },
{ "title": "S01E04 - Brocaova dědičnost", "search": "hvezdna brana sg1 s01e04" },
{ "title": "S01E05 - První přikázání", "search": "hvezdna brana sg1 s01e05" },
{ "title": "S01E06 - Studna věčnosti", "search": "hvezdna brana sg1 s01e06" },
{ "title": "S01E07 - Žízeň po životě", "search": "hvezdna brana sg1 s01e07" },
{ "title": "S01E08 - Noxové", "search": "hvezdna brana sg1 s01e08" },
{ "title": "S01E09 - Thorovo kladivo", "search": "hvezdna brana sg1 s01e09" },
{ "title": "S01E10 - Tantalova muka", "search": "hvezdna brana sg1 s01e10" },
{ "title": "S01E11 - Vyděděnci", "search": "hvezdna brana sg1 s01e11" },
{ "title": "S01E12 - Změněná budoucnost", "search": "hvezdna brana sg1 s01e12" },
{ "title": "S01E13 - Oheň a voda", "search": "hvezdna brana sg1 s01e13" },
{ "title": "S01E14 - Hathor", "search": "hvezdna brana sg1 s01e14" },
{ "title": "S01E15 - Jedinečný nápad", "search": "hvezdna brana sg1 s01e15" },
{ "title": "S01E16 - Enigma", "search": "hvezdna brana sg1 s01e16" },
{ "title": "S01E17 - Tok'rové", "search": "hvezdna brana sg1 s01e17" },
{ "title": "S01E18 - Létavice", "search": "hvezdna brana sg1 s01e18" },
{ "title": "S01E19 - Klon", "search": "hvezdna brana sg1 s01e19" },
{ "title": "S01E20 - Politika", "search": "hvezdna brana sg1 s01e20" },
{ "title": "S01E21 - V sevření hada (1. část)", "search": "hvezdna brana sg1 s01e21" },
{ "title": "S01E22 - V sevření hada (2. část)", "search": "hvezdna brana sg1 s01e22" }
]
}
,
{
"season": 2,
"episodes": [
{ "title": "S02E01 - V sevření hada (3. část)", "search": "hvezdna brana sg1 s02e01" },
{ "title": "S02E02 - Uvnitř hada", "search": "hvezdna brana sg1 s02e02" },
{ "title": "S02E03 - Královská rodina", "search": "hvezdna brana sg1 s02e03" },
{ "title": "S02E04 - Ztracený ráj", "search": "hvezdna brana sg1 s02e04" },
{ "title": "S02E05 - Potomci bohů", "search": "hvezdna brana sg1 s02e05" },
{ "title": "S02E06 - Zásilka", "search": "hvezdna brana sg1 s02e06" },
{ "title": "S02E07 - Hrozba", "search": "hvezdna brana sg1 s02e07" },
{ "title": "S02E08 - Rodina", "search": "hvezdna brana sg1 s02e08" },
{ "title": "S02E09 - Tajemství", "search": "hvezdna brana sg1 s02e09" },
{ "title": "S02E10 - Zázračné dítě", "search": "hvezdna brana sg1 s02e10" },
{ "title": "S02E11 - Tok'rové (1. část)", "search": "hvezdna brana sg1 s02e11" },
{ "title": "S02E12 - Tok'rové (2. část)", "search": "hvezdna brana sg1 s02e12" },
{ "title": "S02E13 - Duchové", "search": "hvezdna brana sg1 s02e13" },
{ "title": "S02E14 - Zrození", "search": "hvezdna brana sg1 s02e14" },
{ "title": "S02E15 - Šílenství", "search": "hvezdna brana sg1 s02e15" },
{ "title": "S02E16 - Nová naděje", "search": "hvezdna brana sg1 s02e16" },
{ "title": "S02E17 - Jeden falešný krok", "search": "hvezdna brana sg1 s02e17" },
{ "title": "S02E18 - Zásah shůry", "search": "hvezdna brana sg1 s02e18" },
{ "title": "S02E19 - Vězeň", "search": "hvezdna brana sg1 s02e19" },
{ "title": "S02E20 - Změněná mysl", "search": "hvezdna brana sg1 s02e20" },
{ "title": "S02E21 - Dvojník", "search": "hvezdna brana sg1 s02e21" },
{ "title": "S02E22 - Bitva o Vorash", "search": "hvezdna brana sg1 s02e22" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - V pekle (1. část)", "search": "hvezdna brana sg1 s03e01" },
{ "title": "S03E02 - V pekle (2. část)", "search": "hvezdna brana sg1 s03e02" },
{ "title": "S03E03 - Rozdělená moc", "search": "hvezdna brana sg1 s03e03" },
{ "title": "S03E04 - Zapomenutá rasa", "search": "hvezdna brana sg1 s03e04" },
{ "title": "S03E05 - Paměť", "search": "hvezdna brana sg1 s03e05" },
{ "title": "S03E06 - Vzpomínky", "search": "hvezdna brana sg1 s03e06" },
{ "title": "S03E07 - Zrození", "search": "hvezdna brana sg1 s03e07" },
{ "title": "S03E08 - Démoni", "search": "hvezdna brana sg1 s03e08" },
{ "title": "S03E09 - Pravidla hry", "search": "hvezdna brana sg1 s03e09" },
{ "title": "S03E10 - Minulost", "search": "hvezdna brana sg1 s03e10" },
{ "title": "S03E11 - Vzestup", "search": "hvezdna brana sg1 s03e11" },
{ "title": "S03E12 - V pasti", "search": "hvezdna brana sg1 s03e12" },
{ "title": "S03E13 - Iluze", "search": "hvezdna brana sg1 s03e13" },
{ "title": "S03E14 - Fénix", "search": "hvezdna brana sg1 s03e14" },
{ "title": "S03E15 - Zkouška ohněm", "search": "hvezdna brana sg1 s03e15" },
{ "title": "S03E16 - Ztracený svět", "search": "hvezdna brana sg1 s03e16" },
{ "title": "S03E17 - Přírodní výběr", "search": "hvezdna brana sg1 s03e17" },
{ "title": "S03E18 - Nová naděje", "search": "hvezdna brana sg1 s03e18" },
{ "title": "S03E19 - Záměna", "search": "hvezdna brana sg1 s03e19" },
{ "title": "S03E20 - Nepřítel uvnitř", "search": "hvezdna brana sg1 s03e20" },
{ "title": "S03E21 - Proroctví", "search": "hvezdna brana sg1 s03e21" },
{ "title": "S03E22 - Nemesis (1. část)", "search": "hvezdna brana sg1 s03e22" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Nemesis (2. část)", "search": "hvezdna brana sg1 s04e01" },
{ "title": "S04E02 - První je první", "search": "hvezdna brana sg1 s04e02" },
{ "title": "S04E03 - Upřímnost", "search": "hvezdna brana sg1 s04e03" },
{ "title": "S04E04 - Kámen mudrců", "search": "hvezdna brana sg1 s04e04" },
{ "title": "S04E05 - Divoký hon", "search": "hvezdna brana sg1 s04e05" },
{ "title": "S04E06 - Věčný kruh", "search": "hvezdna brana sg1 s04e06" },
{ "title": "S04E07 - Vodní brána", "search": "hvezdna brana sg1 s04e07" },
{ "title": "S04E08 - Rodinné pouto", "search": "hvezdna brana sg1 s04e08" },
{ "title": "S04E09 - Tváří v tvář", "search": "hvezdna brana sg1 s04e09" },
{ "title": "S04E10 - Ztracená města", "search": "hvezdna brana sg1 s04e10" },
{ "title": "S04E11 - Lovec", "search": "hvezdna brana sg1 s04e11" },
{ "title": "S04E12 - Záhada", "search": "hvezdna brana sg1 s04e12" },
{ "title": "S04E13 - Záměna", "search": "hvezdna brana sg1 s04e13" },
{ "title": "S04E14 - Řetězová reakce", "search": "hvezdna brana sg1 s04e14" },
{ "title": "S04E15 - Dlouhá cesta domů", "search": "hvezdna brana sg1 s04e15" },
{ "title": "S04E16 - 2010", "search": "hvezdna brana sg1 s04e16" },
{ "title": "S04E17 - Ztracený ráj", "search": "hvezdna brana sg1 s04e17" },
{ "title": "S04E18 - Dvojník", "search": "hvezdna brana sg1 s04e18" },
{ "title": "S04E19 - Ztracený svět", "search": "hvezdna brana sg1 s04e19" },
{ "title": "S04E20 - Ztracený čas", "search": "hvezdna brana sg1 s04e20" },
{ "title": "S04E21 - Ztracená města (2. část)", "search": "hvezdna brana sg1 s04e21" },
{ "title": "S04E22 - Exitus", "search": "hvezdna brana sg1 s04e22" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - Exitus (2. část)", "search": "hvezdna brana sg1 s05e01" },
{ "title": "S05E02 - Proroctví", "search": "hvezdna brana sg1 s05e02" },
{ "title": "S05E03 - Ztracený ráj", "search": "hvezdna brana sg1 s05e03" },
{ "title": "S05E04 - Pátý muž", "search": "hvezdna brana sg1 s05e04" },
{ "title": "S05E05 - Redakce", "search": "hvezdna brana sg1 s05e05" },
{ "title": "S05E06 - Neviditelný nepřítel", "search": "hvezdna brana sg1 s05e06" },
{ "title": "S05E07 - Ztracený syn", "search": "hvezdna brana sg1 s05e07" },
{ "title": "S05E08 - Království", "search": "hvezdna brana sg1 s05e08" },
{ "title": "S05E09 - Ztracená města", "search": "hvezdna brana sg1 s05e09" },
{ "title": "S05E10 - Ztracený čas", "search": "hvezdna brana sg1 s05e10" },
{ "title": "S05E11 - Dvojník", "search": "hvezdna brana sg1 s05e11" },
{ "title": "S05E12 - Ztracený svět", "search": "hvezdna brana sg1 s05e12" },
{ "title": "S05E13 - Ztracený ráj", "search": "hvezdna brana sg1 s05e13" },
{ "title": "S05E14 - Ztracený ráj (2. část)", "search": "hvezdna brana sg1 s05e14" },
{ "title": "S05E15 - Ztracený svět (2. část)", "search": "hvezdna brana sg1 s05e15" },
{ "title": "S05E16 - Ztracený čas (2. část)", "search": "hvezdna brana sg1 s05e16" },
{ "title": "S05E17 - Ztracená města (3. část)", "search": "hvezdna brana sg1 s05e17" },
{ "title": "S05E18 - Ztracený ráj (3. část)", "search": "hvezdna brana sg1 s05e18" },
{ "title": "S05E19 - Ztracený svět (3. část)", "search": "hvezdna brana sg1 s05e19" },
{ "title": "S05E20 - Ztracený čas (3. část)", "search": "hvezdna brana sg1 s05e20" },
{ "title": "S05E21 - Ztracená města (4. část)", "search": "hvezdna brana sg1 s05e21" },
{ "title": "S05E22 - Odhalení", "search": "hvezdna brana sg1 s05e22" }
]
},
{
"season": 6,
"episodes": [
{ "title": "S06E01 - Odhalení (2. část)", "search": "hvezdna brana sg1 s06e01" },
{ "title": "S06E02 - Ztracený ráj", "search": "hvezdna brana sg1 s06e02" },
{ "title": "S06E03 - Ztracený svět", "search": "hvezdna brana sg1 s06e03" },
{ "title": "S06E04 - Ztracený čas", "search": "hvezdna brana sg1 s06e04" },
{ "title": "S06E05 - Ztracená města", "search": "hvezdna brana sg1 s06e05" },
{ "title": "S06E06 - Ztracený ráj (2. část)", "search": "hvezdna brana sg1 s06e06" },
{ "title": "S06E07 - Ztracený svět (2. část)", "search": "hvezdna brana sg1 s06e07" },
{ "title": "S06E08 - Ztracený čas (2. část)", "search": "hvezdna brana sg1 s06e08" },
{ "title": "S06E09 - Ztracená města (2. část)", "search": "hvezdna brana sg1 s06e09" },
{ "title": "S06E10 - Ztracený ráj (3. část)", "search": "hvezdna brana sg1 s06e10" },
{ "title": "S06E11 - Ztracený svět (3. část)", "search": "hvezdna brana sg1 s06e11" },
{ "title": "S06E12 - Ztracený čas (3. část)", "search": "hvezdna brana sg1 s06e12" },
{ "title": "S06E13 - Ztracená města (3. část)", "search": "hvezdna brana sg1 s06e13" },
{ "title": "S06E14 - Ztracený ráj (4. část)", "search": "hvezdna brana sg1 s06e14" },
{ "title": "S06E15 - Ztracený svět (4. část)", "search": "hvezdna brana sg1 s06e15" },
{ "title": "S06E16 - Ztracený čas (4. část)", "search": "hvezdna brana sg1 s06e16" },
{ "title": "S06E17 - Ztracená města (4. část)", "search": "hvezdna brana sg1 s06e17" },
{ "title": "S06E18 - Ztracený ráj (5. část)", "search": "hvezdna brana sg1 s06e18" },
{ "title": "S06E19 - Ztracený svět (5. část)", "search": "hvezdna brana sg1 s06e19" },
{ "title": "S06E20 - Ztracený čas (5. část)", "search": "hvezdna brana sg1 s06e20" },
{ "title": "S06E21 - Ztracená města (5. část)", "search": "hvezdna brana sg1 s06e21" },
{ "title": "S06E22 - Kruh se uzavírá", "search": "hvezdna brana sg1 s06e22" }
]
},
{
"season": 7,
"episodes": [
{ "title": "S07E01 - Návrat", "search": "hvezdna brana sg1 s07e01" },
{ "title": "S07E02 - Návrat (2. část)", "search": "hvezdna brana sg1 s07e02" },
{ "title": "S07E03 - Návrat (3. část)", "search": "hvezdna brana sg1 s07e03" },
{ "title": "S07E04 - Návrat (4. část)", "search": "hvezdna brana sg1 s07e04" },
{ "title": "S07E05 - Návrat (5. část)", "search": "hvezdna brana sg1 s07e05" },
{ "title": "S07E06 - Návrat (6. část)", "search": "hvezdna brana sg1 s07e06" },
{ "title": "S07E07 - Návrat (7. část)", "search": "hvezdna brana sg1 s07e07" },
{ "title": "S07E08 - Návrat (8. část)", "search": "hvezdna brana sg1 s07e08" },
{ "title": "S07E09 - Návrat (9. část)", "search": "hvezdna brana sg1 s07e09" },
{ "title": "S07E10 - Návrat (10. část)", "search": "hvezdna brana sg1 s07e10" },
{ "title": "S07E11 - Návrat (11. část)", "search": "hvezdna brana sg1 s07e11" },
{ "title": "S07E12 - Návrat (12. část)", "search": "hvezdna brana sg1 s07e12" },
{ "title": "S07E13 - Návrat (13. část)", "search": "hvezdna brana sg1 s07e13" },
{ "title": "S07E14 - Návrat (14. část)", "search": "hvezdna brana sg1 s07e14" },
{ "title": "S07E15 - Návrat (15. část)", "search": "hvezdna brana sg1 s07e15" },
{ "title": "S07E16 - Návrat (16. část)", "search": "hvezdna brana sg1 s07e16" },
{ "title": "S07E17 - Návrat (17. část)", "search": "hvezdna brana sg1 s07e17" },
{ "title": "S07E18 - Návrat (18. část)", "search": "hvezdna brana sg1 s07e18" },
{ "title": "S07E19 - Návrat (19. část)", "search": "hvezdna brana sg1 s07e19" },
{ "title": "S07E20 - Návrat (20. část)", "search": "hvezdna brana sg1 s07e20" },
{ "title": "S07E21 - Návrat (21. část)", "search": "hvezdna brana sg1 s07e21" },
{ "title": "S07E22 - Návrat (22. část)", "search": "hvezdna brana sg1 s07e22" }
]
},
{
"season": 8,
"episodes": [
{ "title": "S08E01 - Nový řád (1. část)", "search": "hvezdna brana sg1 s08e01" },
{ "title": "S08E02 - Nový řád (2. část)", "search": "hvezdna brana sg1 s08e02" },
{ "title": "S08E03 - Záměna", "search": "hvezdna brana sg1 s08e03" },
{ "title": "S08E04 - Ztracený ráj", "search": "hvezdna brana sg1 s08e04" },
{ "title": "S08E05 - Ztracený svět", "search": "hvezdna brana sg1 s08e05" },
{ "title": "S08E06 - Ztracený čas", "search": "hvezdna brana sg1 s08e06" },
{ "title": "S08E07 - Ztracená města", "search": "hvezdna brana sg1 s08e07" },
{ "title": "S08E08 - Ztracený ráj (2. část)", "search": "hvezdna brana sg1 s08e08" },
{ "title": "S08E09 - Ztracený svět (2. část)", "search": "hvezdna brana sg1 s08e09" },
{ "title": "S08E10 - Ztracený čas (2. část)", "search": "hvezdna brana sg1 s08e10" },
{ "title": "S08E11 - Ztracená města (2. část)", "search": "hvezdna brana sg1 s08e11" },
{ "title": "S08E12 - Ztracený ráj (3. část)", "search": "hvezdna brana sg1 s08e12" },
{ "title": "S08E13 - Ztracený svět (3. část)", "search": "hvezdna brana sg1 s08e13" },
{ "title": "S08E14 - Ztracený čas (3. část)", "search": "hvezdna brana sg1 s08e14" },
{ "title": "S08E15 - Ztracená města (3. část)", "search": "hvezdna brana sg1 s08e15" },
{ "title": "S08E16 - Ztracený ráj (4. část)", "search": "hvezdna brana sg1 s08e16" },
{ "title": "S08E17 - Ztracený svět (4. část)", "search": "hvezdna brana sg1 s08e17" },
{ "title": "S08E18 - Ztracený čas (4. část)", "search": "hvezdna brana sg1 s08e18" },
{ "title": "S08E19 - Ztracená města (4. část)", "search": "hvezdna brana sg1 s08e19" },
{ "title": "S08E20 - Ztracený ráj (5. část)", "search": "hvezdna brana sg1 s08e20" },
{ "title": "S08E21 - Ztracený svět (5. část)", "search": "hvezdna brana sg1 s08e21" },
{ "title": "S08E22 - Ztracený čas (5. část)", "search": "hvezdna brana sg1 s08e22" }
]
},
{
"season": 9,
"episodes": [
{ "title": "S09E01 - Avalon (1. část)", "search": "hvezdna brana sg1 s09e01" },
{ "title": "S09E02 - Avalon (2. část)", "search": "hvezdna brana sg1 s09e02" },
{ "title": "S09E03 - Origin", "search": "hvezdna brana sg1 s09e03" },
{ "title": "S09E04 - Bitva o Zem", "search": "hvezdna brana sg1 s09e04" },
{ "title": "S09E05 - Učedník", "search": "hvezdna brana sg1 s09e05" },
{ "title": "S09E06 - Návrat Orijů", "search": "hvezdna brana sg1 s09e06" },
{ "title": "S09E07 - Ztracená města", "search": "hvezdna brana sg1 s09e07" },
{ "title": "S09E08 - Ztracený ráj", "search": "hvezdna brana sg1 s09e08" },
{ "title": "S09E09 - Ztracený svět", "search": "hvezdna brana sg1 s09e09" },
{ "title": "S09E10 - Ztracený čas", "search": "hvezdna brana sg1 s09e10" },
{ "title": "S09E11 - Ztracená města (2. část)", "search": "hvezdna brana sg1 s09e11" },
{ "title": "S09E12 - Ztracený ráj (2. část)", "search": "hvezdna brana sg1 s09e12" },
{ "title": "S09E13 - Ztracený svět (2. část)", "search": "hvezdna brana sg1 s09e13" },
{ "title": "S09E14 - Ztracený čas (2. část)", "search": "hvezdna brana sg1 s09e14" },
{ "title": "S09E15 - Ztracená města (3. část)", "search": "hvezdna brana sg1 s09e15" },
{ "title": "S09E16 - Ztracený ráj (3. část)", "search": "hvezdna brana sg1 s09e16" },
{ "title": "S09E17 - Ztracený svět (3. část)", "search": "hvezdna brana sg1 s09e17" },
{ "title": "S09E18 - Ztracený čas (3. část)", "search": "hvezdna brana sg1 s09e18" },
{ "title": "S09E19 - Ztracená města (4. část)", "search": "hvezdna brana sg1 s09e19" },
{ "title": "S09E20 - Ztracený ráj (4. část)", "search": "hvezdna brana sg1 s09e20" }
]
},
{
"season": 10,
"episodes": [
{ "title": "S10E01 - Z masa a krve", "search": "hvezdna brana sg1 s10e01" },
{ "title": "S10E02 - Mor", "search": "hvezdna brana sg1 s10e02" },
{ "title": "S10E03 - Pátý muž", "search": "hvezdna brana sg1 s10e03" },
{ "title": "S10E04 - Insiders", "search": "hvezdna brana sg1 s10e04" },
{ "title": "S10E05 - Unending", "search": "hvezdna brana sg1 s10e05" },
{ "title": "S10E06 - Ztracený ráj", "search": "hvezdna brana sg1 s10e06" },
{ "title": "S10E07 - Ztracený svět", "search": "hvezdna brana sg1 s10e07" },
{ "title": "S10E08 - Ztracený čas", "search": "hvezdna brana sg1 s10e08" },
{ "title": "S10E09 - Ztracená města", "search": "hvezdna brana sg1 s10e09" },
{ "title": "S10E10 - Ztracený ráj (2. část)", "search": "hvezdna brana sg1 s10e10" },
{ "title": "S10E11 - Ztracený svět (2. část)", "search": "hvezdna brana sg1 s10e11" },
{ "title": "S10E12 - Ztracený čas (2. část)", "search": "hvezdna brana sg1 s10e12" },
{ "title": "S10E13 - Ztracená města (2. část)", "search": "hvezdna brana sg1 s10e13" },
{ "title": "S10E14 - Ztracený ráj (3. část)", "search": "hvezdna brana sg1 s10e14" },
{ "title": "S10E15 - Ztracený svět (3. část)", "search": "hvezdna brana sg1 s10e15" },
{ "title": "S10E16 - Ztracený čas (3. část)", "search": "hvezdna brana sg1 s10e16" },
{ "title": "S10E17 - Ztracená města (3. část)", "search": "hvezdna brana sg1 s10e17" },
{ "title": "S10E18 - Ztracený ráj (4. část)", "search": "hvezdna brana sg1 s10e18" },
{ "title": "S10E19 - Ztracený svět (4. část)", "search": "hvezdna brana sg1 s10e19" },
{ "title": "S10E20 - Nepřítel před branami", "search": "hvezdna brana sg1 s10e20" }
]
}
]
}

View File

@@ -0,0 +1,134 @@
{
"title": "Simpsonovi",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Simpsons Roasting on an Open Fire", "search": "simpsonovi s01e01" },
{ "title": "S01E02 - Bart the Genius", "search": "simpsonovi s01e02" },
{ "title": "S01E03 - Homer's Odyssey", "search": "simpsonovi s01e03" },
{ "title": "S01E04 - There's No Disgrace Like Home", "search": "simpsonovi s01e04" },
{ "title": "S01E05 - Bart the General", "search": "simpsonovi s01e05" },
{ "title": "S01E06 - Moaning Lisa", "search": "simpsonovi s01e06" },
{ "title": "S01E07 - The Call of the Simpsons", "search": "simpsonovi s01e07" },
{ "title": "S01E08 - The Telltale Head", "search": "simpsonovi s01e08" },
{ "title": "S01E09 - Life on the Fast Lane", "search": "simpsonovi s01e09" },
{ "title": "S01E10 - Homer's Night Out", "search": "simpsonovi s01e10" },
{ "title": "S01E11 - The Crepes of Wrath", "search": "simpsonovi s01e11" },
{ "title": "S01E12 - Krusty Gets Busted", "search": "simpsonovi s01e12" },
{ "title": "S01E13 - Some Enchanted Evening", "search": "simpsonovi s01e13" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - Bart Gets an F", "search": "simpsonovi s02e01" },
{ "title": "S02E02 - Simpson and Delilah", "search": "simpsonovi s02e02" },
{ "title": "S02E03 - Treehouse of Horror", "search": "simpsonovi s02e03" },
{ "title": "S02E04 - Two Cars in Every Garage", "search": "simpsonovi s02e04" },
{ "title": "S02E05 - Dancin' Homer", "search": "simpsonovi s02e05" },
{ "title": "S02E06 - Dead Putting Society", "search": "simpsonovi s02e06" },
{ "title": "S02E07 - Bart vs. Thanksgiving", "search": "simpsonovi s02e07" },
{ "title": "S02E08 - Bart the Daredevil", "search": "simpsonovi s02e08" },
{ "title": "S02E09 - Itchy & Scratchy & Marge", "search": "simpsonovi s02e09" },
{ "title": "S02E10 - Bart Gets Hit by a Car", "search": "simpsonovi s02e10" },
{ "title": "S02E11 - One Fish, Two Fish", "search": "simpsonovi s02e11" },
{ "title": "S02E12 - The Way We Was", "search": "simpsonovi s02e12" },
{ "title": "S02E13 - Homer vs. Lisa", "search": "simpsonovi s02e13" },
{ "title": "S02E14 - Principal Charming", "search": "simpsonovi s02e14" },
{ "title": "S02E15 - Oh Brother, Where Art Thou?", "search": "simpsonovi s02e15" },
{ "title": "S02E16 - Bart's Dog Gets an F", "search": "simpsonovi s02e16" },
{ "title": "S02E17 - Old Money", "search": "simpsonovi s02e17" },
{ "title": "S02E18 - Brush with Greatness", "search": "simpsonovi s02e18" },
{ "title": "S02E19 - Lisa's Substitute", "search": "simpsonovi s02e19" },
{ "title": "S02E20 - The War of the Simpsons", "search": "simpsonovi s02e20" },
{ "title": "S02E21 - Three Men and a Comic Book", "search": "simpsonovi s02e21" },
{ "title": "S02E22 - Blood Feud", "search": "simpsonovi s02e22" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - Stark Raving Dad", "search": "simpsonovi s03e01" },
{ "title": "S03E02 - Mr. Lisa Goes to Washington", "search": "simpsonovi s03e02" },
{ "title": "S03E03 - When Flanders Failed", "search": "simpsonovi s03e03" },
{ "title": "S03E04 - Bart the Murderer", "search": "simpsonovi s03e04" },
{ "title": "S03E05 - Homer Defined", "search": "simpsonovi s03e05" },
{ "title": "S03E06 - Like Father, Like Clown", "search": "simpsonovi s03e06" },
{ "title": "S03E07 - Treehouse of Horror II", "search": "simpsonovi s03e07" },
{ "title": "S03E08 - Lisa's Pony", "search": "simpsonovi s03e08" },
{ "title": "S03E09 - Saturdays of Thunder", "search": "simpsonovi s03e09" },
{ "title": "S03E10 - Flaming Moe's", "search": "simpsonovi s03e10" },
{ "title": "S03E11 - Burns Verkaufen der Kraftwerk", "search": "simpsonovi s03e11" },
{ "title": "S03E12 - I Married Marge", "search": "simpsonovi s03e12" },
{ "title": "S03E13 - Radio Bart", "search": "simpsonovi s03e13" },
{ "title": "S03E14 - Lisa the Greek", "search": "simpsonovi s03e14" },
{ "title": "S03E15 - Homer Alone", "search": "simpsonovi s03e15" },
{ "title": "S03E16 - Bart the Lover", "search": "simpsonovi s03e16" },
{ "title": "S03E17 - Homer at the Bat", "search": "simpsonovi s03e17" },
{ "title": "S03E18 - Separate Vocations", "search": "simpsonovi s03e18" },
{ "title": "S03E19 - Dog of Death", "search": "simpsonovi s03e19" },
{ "title": "S03E20 - Colonel Homer", "search": "simpsonovi s03e20" },
{ "title": "S03E21 - Black Widower", "search": "simpsonovi s03e21" },
{ "title": "S03E22 - The Otto Show", "search": "simpsonovi s03e22" },
{ "title": "S03E23 - Bart's Friend Falls in Love", "search": "simpsonovi s03e23" },
{ "title": "S03E24 - Brother, Can You Spare Two Dimes?", "search": "simpsonovi s03e24" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Kamp Krusty", "search": "simpsonovi s04e01" },
{ "title": "S04E02 - A Streetcar Named Marge", "search": "simpsonovi s04e02" },
{ "title": "S04E03 - Homer the Heretic", "search": "simpsonovi s04e03" },
{ "title": "S04E04 - Lisa the Beauty Queen", "search": "simpsonovi s04e04" },
{ "title": "S04E05 - Treehouse of Horror III", "search": "simpsonovi s04e05" },
{ "title": "S04E06 - Itchy & Scratchy: The Movie", "search": "simpsonovi s04e06" },
{ "title": "S04E07 - Marge Gets a Job", "search": "simpsonovi s04e07" },
{ "title": "S04E08 - New Kid on the Block", "search": "simpsonovi s04e08" },
{ "title": "S04E09 - Mr. Plow", "search": "simpsonovi s04e09" },
{ "title": "S04E10 - Lisa's First Word", "search": "simpsonovi s04e10" },
{ "title": "S04E11 - Homer's Triple Bypass", "search": "simpsonovi s04e11" },
{ "title": "S04E12 - Marge vs. the Monorail", "search": "simpsonovi s04e12" },
{ "title": "S04E13 - Selma's Choice", "search": "simpsonovi s04e13" },
{ "title": "S04E14 - Brother from the Same Planet", "search": "simpsonovi s04e14" },
{ "title": "S04E15 - I Love Lisa", "search": "simpsonovi s04e15" },
{ "title": "S04E16 - Duffless", "search": "simpsonovi s04e16" },
{ "title": "S04E17 - Last Exit to Springfield", "search": "simpsonovi s04e17" },
{ "title": "S04E18 - So It's Come to This: A Simpsons Clip Show", "search": "simpsonovi s04e18" },
{ "title": "S04E19 - The Front", "search": "simpsonovi s04e19" },
{ "title": "S04E20 - Whacking Day", "search": "simpsonovi s04e20" },
{ "title": "S04E21 - Marge in Chains", "search": "simpsonovi s04e21" },
{ "title": "S04E22 - Krusty Gets Kancelled", "search": "simpsonovi s04e22" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - Homer's Barbershop Quartet", "search": "simpsonovi s05e01" },
{ "title": "S05E02 - Cape Feare", "search": "simpsonovi s05e02" },
{ "title": "S05E03 - Homer Goes to College", "search": "simpsonovi s05e03" },
{ "title": "S05E04 - Rosebud", "search": "simpsonovi s05e04" },
{ "title": "S05E05 - Treehouse of Horror IV", "search": "simpsonovi s05e05" },
{ "title": "S05E06 - Marge on the Lam", "search": "simpsonovi s05e06" },
{ "title": "S05E07 - Bart's Inner Child", "search": "simpsonovi s05e07" },
{ "title": "S05E08 - Boy-Scoutz 'n the Hood", "search": "simpsonovi s05e08" },
{ "title": "S05E09 - The Last Temptation of Homer", "search": "simpsonovi s05e09" },
{ "title": "S05E10 - $pringfield", "search": "simpsonovi s05e10" },
{ "title": "S05E11 - Homer the Vigilante", "search": "simpsonovi s05e11" },
{ "title": "S05E12 - Bart Gets Famous", "search": "simpsonovi s05e12" },
{ "title": "S05E13 - Homer and Apu", "search": "simpsonovi s05e13" },
{ "title": "S05E14 - Lisa vs. Malibu Stacy", "search": "simpsonovi s05e14" },
{ "title": "S05E15 - Deep Space Homer", "search": "simpsonovi s05e15" },
{ "title": "S05E16 - Homer Loves Flanders", "search": "simpsonovi s05e16" },
{ "title": "S05E17 - Bart Gets an Elephant", "search": "simpsonovi s05e17" },
{ "title": "S05E18 - Burns' Heir", "search": "simpsonovi s05e18" },
{ "title": "S05E19 - Sweet Seymour Skinner's Baadasssss Song", "search": "simpsonovi s05e19" },
{ "title": "S05E20 - The Boy Who Knew Too Much", "search": "simpsonovi s05e20" },
{ "title": "S05E21 - Lady Bouvier's Lover", "search": "simpsonovi s05e21" },
{ "title": "S05E22 - Secrets of a Successful Marriage", "search": "simpsonovi s05e22" }
]
}
]
}

View File

@@ -0,0 +1,60 @@
{
"title": "Stranger Things",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Chapter One: The Vanishing of Will Byers", "search": "stranger things s01e01" },
{ "title": "S01E02 - Chapter Two: The Weirdo on Maple Street", "search": "stranger things s01e02" },
{ "title": "S01E03 - Chapter Three: Holly, Jolly", "search": "stranger things s01e03" },
{ "title": "S01E04 - Chapter Four: The Body", "search": "stranger things s01e04" },
{ "title": "S01E05 - Chapter Five: The Flea and the Acrobat", "search": "stranger things s01e05" },
{ "title": "S01E06 - Chapter Six: The Monster", "search": "stranger things s01e06" },
{ "title": "S01E07 - Chapter Seven: The Bathtub", "search": "stranger things s01e07" },
{ "title": "S01E08 - Chapter Eight: The Upside Down", "search": "stranger things s01e08" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - Chapter One: MADMAX", "search": "stranger things s02e01" },
{ "title": "S02E02 - Chapter Two: Trick or Treat, Freak", "search": "stranger things s02e02" },
{ "title": "S02E03 - Chapter Three: The Pollywog", "search": "stranger things s02e03" },
{ "title": "S02E04 - Chapter Four: Will the Wise", "search": "stranger things s02e04" },
{ "title": "S02E05 - Chapter Five: Dig Dug", "search": "stranger things s02e05" },
{ "title": "S02E06 - Chapter Six: The Spy", "search": "stranger things s02e06" },
{ "title": "S02E07 - Chapter Seven: The Lost Sister", "search": "stranger things s02e07" },
{ "title": "S02E08 - Chapter Eight: The Mind Flayer", "search": "stranger things s02e08" },
{ "title": "S02E09 - Chapter Nine: The Gate", "search": "stranger things s02e09" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - Chapter One: Suzie, Do You Copy?", "search": "stranger things s03e01" },
{ "title": "S03E02 - Chapter Two: The Mall Rats", "search": "stranger things s03e02" },
{ "title": "S03E03 - Chapter Three: The Case of the Missing Lifeguard", "search": "stranger things s03e03" },
{ "title": "S03E04 - Chapter Four: The Sauna Test", "search": "stranger things s03e04" },
{ "title": "S03E05 - Chapter Five: The Flayed", "search": "stranger things s03e05" },
{ "title": "S03E06 - Chapter Six: E Pluribus Unum", "search": "stranger things s03e06" },
{ "title": "S03E07 - Chapter Seven: The Bite", "search": "stranger things s03e07" },
{ "title": "S03E08 - Chapter Eight: The Battle of Starcourt", "search": "stranger things s03e08" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - Chapter One: The Hellfire Club", "search": "stranger things s04e01" },
{ "title": "S04E02 - Chapter Two: Vecna's Curse", "search": "stranger things s04e02" },
{ "title": "S04E03 - Chapter Three: The Monster and the Superhero", "search": "stranger things s04e03" },
{ "title": "S04E04 - Chapter Four: Dear Billy", "search": "stranger things s04e04" },
{ "title": "S04E05 - Chapter Five: The Nina Project", "search": "stranger things s04e05" },
{ "title": "S04E06 - Chapter Six: The Dive", "search": "stranger things s04e06" },
{ "title": "S04E07 - Chapter Seven: The Massacre at Hawkins Lab", "search": "stranger things s04e07" },
{ "title": "S04E08 - Chapter Eight: Papa", "search": "stranger things s04e08" },
{ "title": "S04E09 - Chapter Nine: The Piggyback", "search": "stranger things s04e09" }
]
}
]
}

View File

@@ -0,0 +1,98 @@
{
"title": "The Walking Dead",
"icon": "DefaultTVShows.png",
"seasons": [
{
"season": 1,
"episodes": [
{ "title": "S01E01 - Days Gone Bye", "search": "walking dead s01e01" },
{ "title": "S01E02 - Guts", "search": "walking dead s01e02" },
{ "title": "S01E03 - Tell It to the Frogs", "search": "walking dead s01e03" },
{ "title": "S01E04 - Vatos", "search": "walking dead s01e04" },
{ "title": "S01E05 - Wildfire", "search": "walking dead s01e05" },
{ "title": "S01E06 - TS-19", "search": "walking dead s01e06" }
]
},
{
"season": 2,
"episodes": [
{ "title": "S02E01 - What Lies Ahead", "search": "walking dead s02e01" },
{ "title": "S02E02 - Bloodletting", "search": "walking dead s02e02" },
{ "title": "S02E03 - Save the Last One", "search": "walking dead s02e03" },
{ "title": "S02E04 - Cherokee Rose", "search": "walking dead s02e04" },
{ "title": "S02E05 - Chupacabra", "search": "walking dead s02e05" },
{ "title": "S02E06 - Secrets", "search": "walking dead s02e06" },
{ "title": "S02E07 - Pretty Much Dead Already", "search": "walking dead s02e07" },
{ "title": "S02E08 - Nebraska", "search": "walking dead s02e08" },
{ "title": "S02E09 - Triggerfinger", "search": "walking dead s02e09" },
{ "title": "S02E10 - 18 Miles Out", "search": "walking dead s02e10" },
{ "title": "S02E11 - Judge, Jury, Executioner", "search": "walking dead s02e11" },
{ "title": "S02E12 - Better Angels", "search": "walking dead s02e12" },
{ "title": "S02E13 - Beside the Dying Fire", "search": "walking dead s02e13" }
]
},
{
"season": 3,
"episodes": [
{ "title": "S03E01 - Seed", "search": "walking dead s03e01" },
{ "title": "S03E02 - Sick", "search": "walking dead s03e02" },
{ "title": "S03E03 - Walk with Me", "search": "walking dead s03e03" },
{ "title": "S03E04 - Killer Within", "search": "walking dead s03e04" },
{ "title": "S03E05 - Say the Word", "search": "walking dead s03e05" },
{ "title": "S03E06 - Hounded", "search": "walking dead s03e06" },
{ "title": "S03E07 - When the Dead Come Knocking", "search": "walking dead s03e07" },
{ "title": "S03E08 - Made to Suffer", "search": "walking dead s03e08" },
{ "title": "S03E09 - The Suicide King", "search": "walking dead s03e09" },
{ "title": "S03E10 - Home", "search": "walking dead s03e10" },
{ "title": "S03E11 - I Ain't a Judas", "search": "walking dead s03e11" },
{ "title": "S03E12 - Clear", "search": "walking dead s03e12" },
{ "title": "S03E13 - Arrow on the Doorpost", "search": "walking dead s03e13" },
{ "title": "S03E14 - Prey", "search": "walking dead s03e14" },
{ "title": "S03E15 - This Sorrowful Life", "search": "walking dead s03e15" },
{ "title": "S03E16 - Welcome to the Tombs", "search": "walking dead s03e16" }
]
},
{
"season": 4,
"episodes": [
{ "title": "S04E01 - 30 Days Without an Accident", "search": "walking dead s04e01" },
{ "title": "S04E02 - Infected", "search": "walking dead s04e02" },
{ "title": "S04E03 - Isolation", "search": "walking dead s04e03" },
{ "title": "S04E04 - Indifference", "search": "walking dead s04e04" },
{ "title": "S04E05 - Internment", "search": "walking dead s04e05" },
{ "title": "S04E06 - Live Bait", "search": "walking dead s04e06" },
{ "title": "S04E07 - Dead Weight", "search": "walking dead s04e07" },
{ "title": "S04E08 - Too Far Gone", "search": "walking dead s04e08" },
{ "title": "S04E09 - After", "search": "walking dead s04e09" },
{ "title": "S04E10 - Inmates", "search": "walking dead s04e10" },
{ "title": "S04E11 - Claimed", "search": "walking dead s04e11" },
{ "title": "S04E12 - Still", "search": "walking dead s04e12" },
{ "title": "S04E13 - Alone", "search": "walking dead s04e13" },
{ "title": "S04E14 - The Grove", "search": "walking dead s04e14" },
{ "title": "S04E15 - Us", "search": "walking dead s04e15" },
{ "title": "S04E16 - A", "search": "walking dead s04e16" }
]
},
{
"season": 5,
"episodes": [
{ "title": "S05E01 - No Sanctuary", "search": "walking dead s05e01" },
{ "title": "S05E02 - Strangers", "search": "walking dead s05e02" },
{ "title": "S05E03 - Four Walls and a Roof", "search": "walking dead s05e03" },
{ "title": "S05E04 - Slabtown", "search": "walking dead s05e04" },
{ "title": "S05E05 - Self Help", "search": "walking dead s05e05" },
{ "title": "S05E06 - Consumed", "search": "walking dead s05e06" },
{ "title": "S05E07 - Crossed", "search": "walking dead s05e07" },
{ "title": "S05E08 - Coda", "search": "walking dead s05e08" },
{ "title": "S05E09 - What Happened and What's Going On", "search": "walking dead s05e09" },
{ "title": "S05E10 - Them", "search": "walking dead s05e10" },
{ "title": "S05E11 - The Distance", "search": "walking dead s05e11" },
{ "title": "S05E12 - Remember", "search": "walking dead s05e12" },
{ "title": "S05E13 - Forget", "search": "walking dead s05e13" },
{ "title": "S05E14 - Spend", "search": "walking dead s05e14" },
{ "title": "S05E15 - Try", "search": "walking dead s05e15" },
{ "title": "S05E16 - Conquer", "search": "walking dead s05e16" }
]
}
]
}