# -*- 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 urllib.request import urllib.parse 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 # Použijeme urllib místo requests 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') # Hledáme JSON soubory pomocí regex json_pattern = r'href="(/gald/galdistream/src/branch/main/resources/[^"]*\.json)"' matches = re.findall(json_pattern, html_content) 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: 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) 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:])