0.2.0b #1

Merged
Nyako merged 9 commits from dev into main 2026-06-06 12:34:50 +00:00
2 changed files with 28 additions and 18 deletions
Showing only changes of commit bd3036f058 - Show all commits
+5 -1
View File
@@ -6,7 +6,7 @@ from pathlib import Path
import requests import requests
from flask import (Flask, jsonify, render_template, render_template_string, from flask import (Flask, jsonify, render_template, render_template_string,
request, send_from_directory) request, send_from_directory, make_response)
from system_module import db, gelbooru, image_processor, logger from system_module import db, gelbooru, image_processor, logger
@@ -30,6 +30,7 @@ THUMB_FOLDER = CONFIG_ROOT["file"]["thumb"]
gb = gelbooru.GB(GB_ID, GB_HASH, GB_HEADERS, FILE_DW_FOLDERS) gb = gelbooru.GB(GB_ID, GB_HASH, GB_HEADERS, FILE_DW_FOLDERS)
log = logger.Logger() log = logger.Logger()
log.init_global_exception_hook()
database = db.DB(True) database = db.DB(True)
app = Flask(__name__) app = Flask(__name__)
@@ -59,6 +60,9 @@ def post(post_id):
@app.route('/file/<path:filename>') @app.route('/file/<path:filename>')
def serve_image(filename): def serve_image(filename):
folder_path = find_file(filename, FILE_FOLDERS) folder_path = find_file(filename, FILE_FOLDERS)
if folder_path == None:
return make_response("Not found", 404)
else:
return send_from_directory(folder_path, filename) return send_from_directory(folder_path, filename)
@app.route('/thumb/<path:filename>') @app.route('/thumb/<path:filename>')
+20 -14
View File
@@ -1,28 +1,34 @@
import sys
import logging import logging
class Logger: class Logger:
def __init__(self): def __init__(self):
self.logger_file = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
self.logger_cli = logging.getLogger(__name__) self.logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
file_handler = logging.FileHandler("logs.log", encoding="utf-8") file_handler = logging.FileHandler("logs.log", encoding="utf-8")
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter) file_handler.setFormatter(formatter)
console_handler = logging.StreamHandler() console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter) console_handler.setFormatter(formatter)
self.logger_file.setLevel(logging.DEBUG) self.logger.addHandler(file_handler)
self.logger_file.addHandler(file_handler) self.logger.addHandler(console_handler)
self.logger_cli.setLevel(logging.INFO) def init_global_exception_hook(self):
self.logger_cli.addHandler(console_handler) def handle_exception(exc_type, exc_value, exc_traceback):
if issubclass(exc_type, KeyboardInterrupt):
sys.__excepthook__(
exc_type,
exc_value,
exc_traceback
)
return
self.logger.critical("ERROR:", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = handle_exception
def send(self, level_log: str, type_log: str, message: str): def send(self, level_log: str, message: str):
if type_log == "file": getattr(self.logger, level_log)(message)
getattr(self.logger_file, level_log)(message)
elif type_log == "cli":
getattr(self.logger_cli, level_log)(message)
else:
getattr(self.logger_file, level_log)(message)
getattr(self.logger_cli, level_log)(message)