代码拉取完成,页面将自动刷新
同步操作将从 haok2/yiwa 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# coding: utf8
"""yiwa-WEB后端"""
from __future__ import absolute_import
import subprocess
from flask import redirect, render_template
from tdcode import qr_code
from apps import app, socketio
from yiwa.db import DataConveyor
from yiwa.log import Log
from yiwa.settings import HOST, PORT, BASE_DIR
import os
from apps.__public._db import refresh_command
@app.route('/')
def hello_world():
return redirect("/home")
@app.route("/refresh")
def refresh():
"""更新指令"""
refresh_command()
try:
return render_template("yiwa/refresh.html")
except:
return None
@app.route("/reboot")
def reboot():
"""重启web"""
def _exec(script):
"""执行shell脚本"""
subprocess.call(script,
shell=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
dc = DataConveyor()
try:
# 参考1,https://blog.csdn.net/weixin_42840933/article/details/85780125
# 参考2,https://www.jianshu.com/p/bdfddc6ed505
shell_path = os.path.join(BASE_DIR, "restart.sh")
log_path = os.path.join(BASE_DIR, "logs", "nohup.log")
_exec(f"nohup sh {shell_path} > {log_path} 2>&1 &")
app.logger.info("重启成功")
except Exception as error:
app.logger.error(f"重启失败,报错:{error}")
# 以下内容可能不会被display
dc.info("重启失败")
dc.info("重启成功")
return redirect("/home")
if __name__ == '__main__':
refresh()
qr_code.clean_all()
app.logger.addHandler(Log().handler)
print(f"{HOST}:{PORT}")
socketio.run(app, host=HOST, port=PORT, debug=True)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。