import os from datetime import datetime import requests def gelbooru_date_parse(date_str: str): if not date_str: return 0, "Unknown" try: dt = datetime.strptime(date_str, "%a %b %d %H:%M:%S %z %Y") return dt.timestamp(), dt.strftime("%Y-%m-%d") except Exception as e: print(f"Ошибка парсинга даты '{date_str}': {e}") return 0, "Unknown" class GB: def __init__(self, api_id: str, api_hash: str, headers: dict[str, str], dw_folder: str): self.api_id = api_id self.api_hash = api_hash self.dw_folder = dw_folder self.root_url = "https://gelbooru.com/index.php" self.HEADERS = headers def get_from_id(self, id_post: int): params = {"page": "dapi", "s": "post", "q": "index", "json": 1, "id": id_post, "api_key":self.api_hash, "user_id":self.api_id} response = requests.get(self.root_url, params=params, headers=self.HEADERS, timeout=15) url_file = response.json()["post"][0]["file_url"] file_name = response.json()["post"][0]["image"] return response.json()["post"][0], url_file, file_name def get_from_md5(self, md5: str): params = {"page": "dapi", "s": "post", "q": "index", "json": 1, "tags":"md5:"+md5, "api_key":self.api_hash, "user_id":self.api_id} response = requests.get(self.root_url, params=params, headers=self.HEADERS, timeout=15) url_file = response.json()["post"][0]["file_url"] file_name = response.json()["post"][0]["image"] return response.json()["post"][0], url_file, file_name