From a68e29dff68028cbbec4c141e9ed3a983d041732 Mon Sep 17 00:00:00 2001 From: Rock Chin <1010553892@qq.com> Date: Fri, 7 Apr 2023 16:02:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20tips=E6=A8=A1=E5=9D=97=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E6=80=A7=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 28 +++++++++++++++++++++++++--- pkg/utils/reloader.py | 1 + 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index ec70748c..03b2ecde 100644 --- a/main.py +++ b/main.py @@ -108,6 +108,7 @@ def reset_logging(): # 临时函数,用于加载config和上下文,未来统一放在config类 def load_config(): + logging.info("检查config模块完整性.") # 完整性校验 is_integrity = True config_template = importlib.import_module('config-template') @@ -119,7 +120,7 @@ def load_config(): is_integrity = False if not is_integrity: - logging.warning("配置文件不完整,请依据config-template.py检查config.py") + logging.warning("配置文件不完整,您可以依据config-template.py检查config.py") # 检查override.json覆盖 if os.path.exists("override.json"): @@ -132,13 +133,31 @@ def load_config(): logging.error("无法覆写配置[{}]为[{}],该配置不存在,请检查override.json是否正确".format(key, override_json[key])) if not is_integrity: - logging.warning("以上配置已被设为默认值,将在5秒后继续启动... ") - time.sleep(5) + logging.warning("以上配置已被设为默认值,将在3秒后继续启动... ") + time.sleep(3) # 存进上下文 pkg.utils.context.set_config(config) +def complete_tips(): + """根据tips-custom-template模块补全tips模块的属性""" + is_integrity = True + logging.info("检查tips模块完整性.") + tips_template = importlib.import_module('tips-custom-template') + tips = importlib.import_module('tips') + for key in dir(tips_template): + if not key.startswith("__") and not hasattr(tips, key): + setattr(tips, key, getattr(tips_template, key)) + logging.warning("[{}]不存在".format(key)) + is_integrity = False + + if not is_integrity: + logging.warning("tips模块不完整,您可以依据tips-custom-template.py检查tips.py") + logging.warning("以上配置已被设为默认值,将在3秒后继续启动... ") + time.sleep(3) + + def start(first_time_init=False): """启动流程,reload之后会被执行""" @@ -405,6 +424,9 @@ def main(): load_config() config = pkg.utils.context.get_config() + # 检查tips模块 + complete_tips() + # 配置线程池 from pkg.utils import ThreadCtl thread_ctl = ThreadCtl( diff --git a/pkg/utils/reloader.py b/pkg/utils/reloader.py index d06821ec..abe27fa0 100644 --- a/pkg/utils/reloader.py +++ b/pkg/utils/reloader.py @@ -54,6 +54,7 @@ def reload_all(notify=True): # 执行启动流程 logging.info("执行程序启动流程") main.load_config() + main.complete_tips() context.get_thread_ctl().reload( admin_pool_num=context.get_config().admin_pool_num, user_pool_num=context.get_config().user_pool_num