main_func_error_404.py 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. from .tool.func import *
  2. async def main_func_error_404(e = ''):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if flask.request.path == '/':
  6. curs.execute(db_change('select data from other where name = "frontpage"'))
  7. db_data = curs.fetchall()
  8. db_data = db_data[0][0] if db_data and db_data[0][0] != '' else 'FrontPage'
  9. return redirect(conn, '/w/' + url_pas(db_data))
  10. else:
  11. curs.execute(db_change('select data from other where name = "manage_404_page"'))
  12. db_data = curs.fetchall()
  13. db_data = db_data[0][0] if db_data else ''
  14. if os.path.exists('404.html') and db_data == '404_file':
  15. return open('404.html', encoding = 'utf8').read(), 404
  16. else:
  17. curs.execute(db_change('select data from other where name = "manage_404_page_content"'))
  18. db_data = curs.fetchall()
  19. db_data = db_data[0][0] if db_data and db_data[0][0] != '' else ''
  20. if db_data != '':
  21. return easy_minify(flask.render_template(await skin_check(),
  22. imp = ['404', await wiki_set(), await wiki_custom(conn), wiki_css([0, 0])],
  23. data = db_data,
  24. menu = 0
  25. )), 404
  26. else:
  27. return await re_error(conn, 46)