From 6cdf1cc5eb67e642255354dd83f27669e8ab234f Mon Sep 17 00:00:00 2001 From: Hell13Cat <46496367+Hell13Cat@users.noreply.github.com> Date: Tue, 26 May 2026 22:18:47 +0300 Subject: [PATCH] 7s --- config.json | 3 +++ {datas => data}/analytic.json | 0 run.py | 37 +++++++++++++++++++++++++---------- 3 files changed, 30 insertions(+), 10 deletions(-) rename {datas => data}/analytic.json (100%) diff --git a/config.json b/config.json index 0d8c4fb..9422d8c 100644 --- a/config.json +++ b/config.json @@ -7,5 +7,8 @@ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Referer": "https://gelbooru.com/" } + }, + "file":{ + "repos":["data/files"] } } \ No newline at end of file diff --git a/datas/analytic.json b/data/analytic.json similarity index 100% rename from datas/analytic.json rename to data/analytic.json diff --git a/run.py b/run.py index ea81f1d..10c8a2f 100644 --- a/run.py +++ b/run.py @@ -2,30 +2,53 @@ from system_module import db, gelbooru, logger from flask import Flask, render_template, jsonify, send_from_directory, render_template_string import json import requests +from pathlib import Path import os CONFIG_ROOT = json.load(open("config.json", "r", encoding="utf-8")) CONFIG_ROOT_S = json.load(open("config_gb.json", "r", encoding="utf-8")) CONFIG_PORT = CONFIG_ROOT["port"] -GB_ID = CONFIG_ROOT["gb"]["id"] -GB_HASH = CONFIG_ROOT["gb"]["hash"] +GB_ID = CONFIG_ROOT_S["gb"]["id"] +GB_HASH = CONFIG_ROOT_S["gb"]["hash"] GB_HEADERS = CONFIG_ROOT["gb"]["headers"] +FILE_FOLDERS = CONFIG_ROOT["file"]["repos"] +THUMB_FOLDER = "data/thumb" gb = gelbooru.GB(GB_ID, GB_HASH, GB_HEADERS) log = logger.Logger() database = db.DB() - app = Flask(__name__) +def find_file(filename, file_folders): + for folder in file_folders: + folder_path = Path(folder) + if not folder_path.exists(): + continue + for file_path in folder_path.rglob(filename): + return folder_path + + return None + @app.route("/") def index(): return render_template("index.html") - @app.route("/analytics") def analytics(): return render_template("analytics.html") +@app.route("/post/") +def post(post_id): + return render_template("post.html") + +@app.route('/file/') +def serve_image(filename): + folder_path = find_file(filename, FILE_FOLDERS) + return send_from_directory(folder_path, filename) + +@app.route('/thumb/') +def serve_thumb(filename): + return send_from_directory(THUMB_FOLDER, filename) @app.route("/dw_api", methods=['POST']) def dw_api(): @@ -59,12 +82,6 @@ def dw_api(): log.send("error", "all", error_message) return jsonify({'status': 'error', 'message': error_message}), 500 - -@app.route("/post/") -def post(post_id): - return render_template("post.html") - - @app.route("/api", methods=["GET", "POST"]) def api():