This commit is contained in:
Hell13Cat
2026-05-27 01:28:03 +03:00
parent ed7bc4fba5
commit 2a103d246b
9 changed files with 383 additions and 605 deletions
+26 -14
View File
@@ -2,15 +2,17 @@ from tinydb import TinyDB, Query
import os
import json
from collections import Counter
import gelbooru
from system_module import gelbooru
from datetime import datetime
class DB:
def __init__(self):
db_path = "datas"
if not os.path.exists(db_path):
os.makedirs(os.path.dirname(db_path), exist_ok=True)
json.dump({}, open(db_path+"/db.json", "w", encoding="utf-8"))
def __init__(self, debug):
if debug:
db_path = "data_test"
else:
db_path = "data"
if not os.path.exists(os.path.join(db_path, "db.json")):
json.dump({}, open(os.path.join(db_path, "db.json"), "w", encoding="utf-8"))
self.db = TinyDB(db_path+"/db.json")
self.File = Query()
@@ -39,7 +41,6 @@ class DB:
"height": data_add["height"]
}
self.db.insert(add_data)
pass
def get_all(self):
sorted_records = sorted(
@@ -52,12 +53,20 @@ class DB:
)
return sorted_records
def get_search(self, ratings, tags):
ratings
results = self.db.search(
self.File.rating.one_of(self.ratings) &
self.File.tags.any(self.tags)
)
def get_search(self, rating_tmp, tags):
mapping_rating = {
"e": "explicit",
"g": "general",
"s": "sensitive",
"q": "questionable"
}
rating = [mapping_rating.get(x, x) for x in rating_tmp]
if rating:
query = self.File.rating.one_of(rating)
if tags != [""]:
tag_query = self.File.tags.test(lambda t: set(tags).issubset(set(t or [])))
query = tag_query if query is None else query & tag_query
results = self.db.search(query) if query else self.db.all()
sorted_records = sorted(
results,
key=lambda x: datetime.strptime(
@@ -89,4 +98,7 @@ class DB:
return top_10
def edit_data(self, id_file, edit_data):
self.db.update(self.edit_data, self.File.md5 == self.id_file)
self.db.update(self.edit_data, self.File.md5 == self.id_file)
def get_from_id(self, id_file):
return self.db.get(self.File.md5 == id_file)
+1 -1
View File
@@ -2,7 +2,7 @@ import requests
from datetime import datetime
def gelbooru_date_parse(date_str):
if not self.date_str:
if not date_str:
return 0, "Unknown"
try:
dt = datetime.strptime(date_str, "%a %b %d %H:%M:%S %z %Y")
+4 -4
View File
@@ -12,11 +12,11 @@ class Logger:
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
logger_file.setLevel(logging.DEBUG)
logger_file.addHandler(file_handler)
self.logger_file.setLevel(logging.DEBUG)
self.logger_file.addHandler(file_handler)
logger_cli.setLevel(logging.INFO)
logger_cli.addHandler(console_handler)
self.logger_cli.setLevel(logging.INFO)
self.logger_cli.addHandler(console_handler)
def send(self, level_log, type_log, message):
if self.type_log == "file":