Merge remote-tracking branch 'origin/hot-reload-test'
This commit is contained in:
commit
f17c580fd9
@ -1,9 +1,12 @@
|
|||||||
|
from functools import HotReload # HotReload 的意思是热更新,修改函数插件后,不需要重启程序,代码直接生效
|
||||||
|
|
||||||
# UserVisibleLevel是过滤器参数。
|
# UserVisibleLevel是过滤器参数。
|
||||||
# 由于UI界面空间有限,所以通过这种方式决定UI界面中显示哪些插件
|
# 由于UI界面空间有限,所以通过这种方式决定UI界面中显示哪些插件
|
||||||
# 默认函数插件 VisibleLevel 是 0
|
# 默认函数插件 VisibleLevel 是 0
|
||||||
# 当 UserVisibleLevel >= 函数插件的 VisibleLevel 时,该函数插件才会被显示出来
|
# 当 UserVisibleLevel >= 函数插件的 VisibleLevel 时,该函数插件才会被显示出来
|
||||||
UserVisibleLevel = 1
|
UserVisibleLevel = 1
|
||||||
|
|
||||||
|
|
||||||
def get_crazy_functionals():
|
def get_crazy_functionals():
|
||||||
from crazy_functions.读文章写摘要 import 读文章写摘要
|
from crazy_functions.读文章写摘要 import 读文章写摘要
|
||||||
from crazy_functions.生成函数注释 import 批量生成函数注释
|
from crazy_functions.生成函数注释 import 批量生成函数注释
|
||||||
@ -16,6 +19,7 @@ def get_crazy_functionals():
|
|||||||
|
|
||||||
function_plugins = {
|
function_plugins = {
|
||||||
"请解析并解构此项目本身": {
|
"请解析并解构此项目本身": {
|
||||||
|
# HotReload 的意思是热更新,修改函数插件后,不需要重启程序,代码直接生效
|
||||||
"Function": 解析项目本身
|
"Function": 解析项目本身
|
||||||
},
|
},
|
||||||
"解析整个py项目": {
|
"解析整个py项目": {
|
||||||
@ -39,10 +43,12 @@ def get_crazy_functionals():
|
|||||||
"Function": 批量生成函数注释
|
"Function": 批量生成函数注释
|
||||||
},
|
},
|
||||||
"[多线程demo] 把本项目源代码切换成全英文": {
|
"[多线程demo] 把本项目源代码切换成全英文": {
|
||||||
"Function": 全项目切换英文
|
# HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
|
||||||
|
"Function": HotReload(全项目切换英文)
|
||||||
},
|
},
|
||||||
"[函数插件模板demo] 历史上的今天": {
|
"[函数插件模板demo] 历史上的今天": {
|
||||||
"Function": 高阶功能模板函数
|
# HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
|
||||||
|
"Function": HotReload(高阶功能模板函数)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +58,8 @@ def get_crazy_functionals():
|
|||||||
function_plugins.update({
|
function_plugins.update({
|
||||||
"[仅供开发调试] 批量总结PDF文档": {
|
"[仅供开发调试] 批量总结PDF文档": {
|
||||||
"Color": "stop",
|
"Color": "stop",
|
||||||
"Function": 批量总结PDF文档
|
# HotReload 的意思是热更新,修改函数插件代码后,不需要重启程序,代码直接生效
|
||||||
|
"Function": HotReload(批量总结PDF文档)
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# chatgpt-academic项目分析报告
|
# chatgpt-academic项目自译解报告
|
||||||
(Author补充:以下分析均由本项目调用ChatGPT一键生成,如果有不准确的地方全怪GPT)
|
(Author补充:以下分析均由本项目调用ChatGPT一键生成,如果有不准确的地方,全怪GPT😄)
|
||||||
|
|
||||||
## [0/10] 程序摘要: check_proxy.py
|
## [0/10] 程序摘要: check_proxy.py
|
||||||
|
|
||||||
|
13
toolbox.py
13
toolbox.py
@ -1,4 +1,4 @@
|
|||||||
import markdown, mdtex2html, threading, importlib, traceback
|
import markdown, mdtex2html, threading, importlib, traceback, importlib, inspect
|
||||||
from show_math import convert as convert_math
|
from show_math import convert as convert_math
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
@ -88,6 +88,17 @@ def CatchException(f):
|
|||||||
yield chatbot, history, f'异常 {e}'
|
yield chatbot, history, f'异常 {e}'
|
||||||
return decorated
|
return decorated
|
||||||
|
|
||||||
|
def HotReload(f):
|
||||||
|
"""
|
||||||
|
装饰器函数,实现函数插件热更新
|
||||||
|
"""
|
||||||
|
@wraps(f)
|
||||||
|
def decorated(*args, **kwargs):
|
||||||
|
fn_name = f.__name__
|
||||||
|
f_hot_reload = getattr(importlib.reload(inspect.getmodule(f)), fn_name)
|
||||||
|
yield from f_hot_reload(*args, **kwargs)
|
||||||
|
return decorated
|
||||||
|
|
||||||
def report_execption(chatbot, history, a, b):
|
def report_execption(chatbot, history, a, b):
|
||||||
"""
|
"""
|
||||||
向chatbot中添加错误信息
|
向chatbot中添加错误信息
|
||||||
|
Loading…
x
Reference in New Issue
Block a user