0.2.0b #1
@@ -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,7 +60,10 @@ 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)
|
||||||
return send_from_directory(folder_path, filename)
|
if folder_path == None:
|
||||||
|
return make_response("Not found", 404)
|
||||||
|
else:
|
||||||
|
return send_from_directory(folder_path, filename)
|
||||||
|
|
||||||
@app.route('/thumb/<path:filename>')
|
@app.route('/thumb/<path:filename>')
|
||||||
def serve_thumb(filename):
|
def serve_thumb(filename):
|
||||||
|
|||||||
+20
-14
@@ -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)
|
|
||||||
Reference in New Issue
Block a user