From f003146ccb2a7870063f9de3a0475db98f1807f9 Mon Sep 17 00:00:00 2001 From: MarkusJoe Date: Sun, 13 Mar 2022 10:52:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E4=BB=B6=E7=AB=99?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- LICENSE | 2 +- app.py | 7 ++++--- bin/__init__.py | 32 +++++++++++++++++++------------- bin/db/__init__.py | 2 +- bin/tests/length_down.py | 12 ++++++++++++ 6 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 bin/tests/length_down.py diff --git a/.gitignore b/.gitignore index d13e72e..d4c9067 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ dist/ *.db *.log *.log.* -*.sql \ No newline at end of file +*.sql +*.gif \ No newline at end of file diff --git a/LICENSE b/LICENSE index 3b718db..ae6456f 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [RTAkland] [name of copyright owner] + Copyright [2022] [MarkusJoe] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/app.py b/app.py index b27126c..09766c6 100644 --- a/app.py +++ b/app.py @@ -12,11 +12,12 @@ from flask import request from flask import make_response from flask import render_template from gevent import pywsgi -from bin.utils.error import ErrorProcess -from bin.utils.features import Features -from bin.utils.view import view_template from bin.utils.logger import logger +from bin.utils.features import Features from bin.utils.settings import Settings +from bin.utils.error import ErrorProcess +from bin.utils.view import view_template + conf = Settings() diff --git a/bin/__init__.py b/bin/__init__.py index 8c82eea..85c139a 100644 --- a/bin/__init__.py +++ b/bin/__init__.py @@ -14,19 +14,25 @@ import threading from bin.utils.logger import logger -class Threaded(threading.Thread): - def __init__(self, s, e, id_, url, name): +class MultiThreaded(threading.Thread): + def __init__(self, + start_: int, + end_: int, + id_: int, + url: str, + name: str + ) -> None: """ 初始化类 - :param s: 开始点 - :param e: 结束点 + :param start_: 开始点 + :param end_: 结束点 :param id_: 线程id :param url: 文件url :param name: 文件名 """ - super(Threaded, self).__init__() - self.start_ = s - self.end_ = e + super(MultiThreaded, self).__init__() + self.start_ = start_ + self.end_ = end_ self.id = id_ self.url = url self.name = name @@ -65,7 +71,7 @@ def cost(func): @cost -def main(url: str, name: str, path: str = '.', workers: int = 4): +def main(url: str, name: str, path: str = '.', workers: int = 8): """ 主函数 :param url: @@ -90,7 +96,7 @@ def main(url: str, name: str, path: str = '.', workers: int = 4): end = i * offset else: end = offset - threads = Threaded(start, end, i, url, path + name) + threads = MultiThreaded(start, end, i, url, path + name) threads.start() threads.join() start = end + 1 @@ -112,12 +118,12 @@ if __name__ != '__main__': if not os.path.exists('./bin/db/data.db'): logger.warning('数据库文件不存在, 即将开始下载') try: - main('https://themedatabase.vercel.app/assets', 'data.db', './bin/db/') + main('https://filebase.vercel.app/data.db', 'data.db', './bin/db/') except requests.Timeout: logger.critical('连接超时, 将使用单线程重新尝试下载') try: - download('https://themedatabase.vercel.app/assets') + download('https://filebase.vercel.app/data.db') except requests.Timeout: - logger.critical('连接超时, 请自行前往https://themedatabase.vercel.app/assets下载文件') - logger.critical('将文件命名为data.db后放置在 ./bin/db/ 文件夹内') + logger.critical('连接超时, 请自行前往 https://filebase.vercel.app/data.db 下载文件') + logger.critical('并放置在 ./bin/db/ 文件夹内') sys.exit(-1) diff --git a/bin/db/__init__.py b/bin/db/__init__.py index cf3cd85..bc9f86b 100644 --- a/bin/db/__init__.py +++ b/bin/db/__init__.py @@ -11,7 +11,7 @@ from bin.utils.settings import Settings if __name__ != '__main__': if Settings().type.lower() == 'mysql' and not os.path.exists('./static/origin.sql'): - logger.warning('当前使用的数据库为MySQL请前往 https://themedatabase.vercel.app/source/sql 下载sql文件') + logger.warning('当前使用的数据库为MySQL请前往 https://filebase.vercel.app/db.sql 下载sql文件') logger.warning('并使用 source 命令来导入MySQL数据库') logger.warning('此消息只显示一次, 下次启动不显示') open('./static/origin.sql', 'w').close() diff --git a/bin/tests/length_down.py b/bin/tests/length_down.py new file mode 100644 index 0000000..b3d4d2f --- /dev/null +++ b/bin/tests/length_down.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 +# -- coding:utf-8 -- +# @Author: markushammered@gmail.com +# @Development Tool: PyCharm +# @Create Time: 2022/3/13 +# @File Name: length_down.py + + +import requests + + +print(requests.get('http://127.0.0.1:8000/data.db').headers) \ No newline at end of file