main_setting_robot.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from .tool.func import *
  2. async def main_setting_robot():
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if await acl_check('', 'owner_auth', '', '') == 1:
  6. return await re_error(conn, 0)
  7. curs.execute(db_change("select data from other where name = 'robot'"))
  8. db_data = curs.fetchall()
  9. if db_data:
  10. data = db_data[0][0]
  11. else:
  12. data = ''
  13. curs.execute(db_change("select data from other where name = 'robot_default'"))
  14. db_data_2 = curs.fetchall()
  15. if db_data_2 and db_data_2[0][0] != '':
  16. default_data = 'checked'
  17. else:
  18. default_data = ''
  19. if flask.request.method == 'POST':
  20. if db_data:
  21. curs.execute(db_change("update other set data = ? where name = 'robot'"), [flask.request.form.get('content', '')])
  22. else:
  23. curs.execute(db_change("insert into other (name, data, coverage) values ('robot', ?, '')"), [flask.request.form.get('content', '')])
  24. if db_data_2:
  25. curs.execute(db_change("update other set data = ? where name = 'robot_default'"), [flask.request.form.get('default', '')])
  26. else:
  27. curs.execute(db_change("insert into other (name, data, coverage) values ('robot_default', ?, '')"), [flask.request.form.get('default', '')])
  28. await acl_check(tool = 'owner_auth', memo = 'edit_set (robot)')
  29. return redirect(conn, '/setting/robot')
  30. else:
  31. return await render_template(
  32. 'robots.txt',
  33. '''
  34. <a href="/robots.txt">(''' + await get_lang('view') + ''')</a>
  35. <hr class="main_hr">
  36. <form method="post">
  37. <textarea class="opennamu_textarea_500" name="content">''' + html.escape(data) + '''</textarea>
  38. <hr class="main_hr">
  39. <label><input class="__ON_INPUT__" type="checkbox" name="default" ''' + default_data + '''> ''' + await get_lang('default') + '''</label>
  40. <hr class="main_hr">
  41. <button id="opennamu_save_button" type="submit">''' + await get_lang('save') + '''</button>
  42. </form>
  43. ''',
  44. 0,
  45. [['setting', await get_lang('return')]]
  46. )