# -*- coding: utf-8 -*- # Module: default # Author: cache # Created on: 10.5.2020 # License: AGPL v.3 https://www.gnu.org/licenses/agpl-3.0.html import sys import galdPl import requests import re import os def get_json_files_from_folder(folder): base_url = "https://git.gald.site/gald/galdistream/src/branch/main/resources/" url = base_url + folder r = requests.get(url, timeout=10) r.raise_for_status() # Hledáme JSON soubory pomocí regex json_pattern = r'href="(/gald/galdistream/src/branch/main/resources/[^"]*\.json)"' matches = re.findall(json_pattern, r.text) files = [] for match in matches: # Extrahujeme pouze název souboru file_name = match.split("/")[-1] files.append(file_name) return files def update_json_db(): 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: print(f"Chyba při získávání souborů ze složky {folder}: {e}") for file in all_files: url = base_url_raw + file local_path = "resources/" + file try: r = requests.get(url, timeout=10) r.raise_for_status() os.makedirs(os.path.dirname(local_path), exist_ok=True) with open(local_path, "wb") as f: f.write(r.content) except Exception as e: print(f"Chyba při stahování {file}: {e}") if __name__ == '__main__': update_json_db() galdPl.router(sys.argv[2][1:])