feat: 未启动状态下的自动更新 (#223)

This commit is contained in:
Rock Chin 2023-03-06 11:04:25 +08:00
parent f0c78f0529
commit 7a04ef0985
2 changed files with 8 additions and 16 deletions

15
main.py
View File

@ -343,19 +343,8 @@ if __name__ == '__main__':
sys.exit(0)
elif len(sys.argv) > 1 and sys.argv[1] == 'update':
try:
try:
import pkg.utils.pkgmgr
pkg.utils.pkgmgr.ensure_dulwich()
except:
pass
from dulwich import porcelain
repo = porcelain.open_repo('.')
porcelain.pull(repo)
except ModuleNotFoundError:
print("dulwich模块未安装,请查看 https://github.com/RockChinQ/QChatGPT/issues/77")
import pkg.utils.updater as updater
updater.update_all()
sys.exit(0)
# import pkg.utils.configmgr

View File

@ -54,7 +54,7 @@ def get_current_tag() -> str:
return current_tag
def update_all() -> bool:
def update_all(cli: bool=False) -> bool:
"""检查更新并下载源码"""
current_tag = get_current_tag()
@ -124,8 +124,11 @@ def update_all() -> bool:
f.write(current_tag)
# 通知管理员
import pkg.utils.context
pkg.utils.context.get_qqbot_manager().notify_admin("已更新到最新版本: {}\n更新日志:\n{}\n新功能通常可以在config-template.py中看到完整的更新日志请前往 https://github.com/RockChinQ/QChatGPT/releases 查看".format(current_tag, "\n".join(rls_notes)))
if not cli:
import pkg.utils.context
pkg.utils.context.get_qqbot_manager().notify_admin("已更新到最新版本: {}\n更新日志:\n{}\n新功能通常可以在config-template.py中看到完整的更新日志请前往 https://github.com/RockChinQ/QChatGPT/releases 查看".format(current_tag, "\n".join(rls_notes)))
else:
print("已更新到最新版本: {}\n更新日志:\n{}\n新功能通常可以在config-template.py中看到完整的更新日志请前往 https://github.com/RockChinQ/QChatGPT/releases 查看".format(current_tag, "\n".join(rls_notes)))
return True