main_sys_restart.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from .tool.func import *
  2. def main_sys_restart():
  3. with get_db_connect() as conn:
  4. if admin_check(conn) != 1:
  5. return re_error(conn, '/error/3')
  6. if flask.request.method == 'POST':
  7. admin_check(conn, None, '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 re_error(conn, '/error/33')
  27. else:
  28. return easy_minify(conn, flask.render_template(skin_check(conn),
  29. imp = [get_lang(conn, 'wiki_restart'), wiki_set(conn), wiki_custom(conn), wiki_css([0, 0])],
  30. data = '''
  31. <form method="post">
  32. <button type="submit">''' + get_lang(conn, 'restart') + '''</button>
  33. </form>
  34. ''',
  35. menu = [['manager', get_lang(conn, 'return')]]
  36. ))