0.0.5s
This commit is contained in:
+26
-14
@@ -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)
|
||||
@@ -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")
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user