36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import requests
|
|
from datetime import datetime
|
|
|
|
def gelbooru_date_parse(date_str):
|
|
if not self.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, api_hash, headers):
|
|
self.api_id = api_id
|
|
self.api_hash = api_hash
|
|
self.root_url = "https://gelbooru.com/index.php"
|
|
self.HEADERS = headers
|
|
|
|
def get_from_id(self, id_post):
|
|
params = {"page": "dapi", "s": "post", "q": "index", "json": 1, "id": id_post, "api_key":self.api_id, "user_id":self.api_hash}
|
|
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"]
|
|
if os.path.exists("dw/"+file_name):
|
|
message = f"Файл '{file_name}' уже существует. Пропускаем."
|
|
print(message)
|
|
return response.json()["post"][0], url_file, file_name
|
|
pass
|
|
|
|
def get_from_md5(self, md5):
|
|
pass
|
|
|
|
def get_binary_file(self, id_post):
|
|
pass |