main_sys_restart.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from .tool.func import *
  2. async def main_sys_restart():
  3. with get_db_connect() as conn:
  4. if await acl_check('', 'owner_auth', '', '') == 1:
  5. return await re_error(conn, 3)
  6. if flask.request.method == 'POST':
  7. await acl_check(tool = 'owner_auth', memo = 'restart')
  8. print('Restart')
  9. python_ver = ''
  10. python_ver = str(sys.version_info.major) + '.' + str(sys.version_info.minor)
  11. run_list = [sys.executable, 'python' + python_ver, 'python3', 'python', 'py -' + python_ver]
  12. for exe_name in run_list:
  13. try:
  14. os.execl(exe_name, sys.executable, *sys.argv)
  15. except:
  16. pass
  17. try:
  18. os.execl(exe_name, '"' + sys.executable + '"', *sys.argv)
  19. except:
  20. pass
  21. try:
  22. os.execl(exe_name, os.path.abspath(__file__), *sys.argv)
  23. except:
  24. pass
  25. else:
  26. return await re_error(conn, 33)
  27. else:
  28. return easy_minify(conn, flask.render_template(skin_check(conn),
  29. imp = [get_lang(conn, 'wiki_restart'), wiki_set(conn), await wiki_custom(conn), wiki_css([0, 0])],
  30. data = '<button type="submit">' + get_lang(conn, 'restart') + '</button>',
  31. menu = [['manager', get_lang(conn, 'return')]]
  32. ))