Files
Local-Booru/system_module/gelbooru.py
T
Hell13Cat 7fe9b73d49 0.1.4s
2026-06-06 10:32:38 +03:00

39 lines
1.6 KiB
Python

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)
print(response.url)
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)
print(response.url)
url_file = response.json()["post"][0]["file_url"]
file_name = response.json()["post"][0]["image"]
return response.json()["post"][0], url_file, file_name