main_setting_sitemap_set.py 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from .tool.func import *
  2. async def main_setting_sitemap_set():
  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. setting_list = {
  8. 0 : ['sitemap_auto_exclude_domain', ''],
  9. 1 : ['sitemap_auto_exclude_user_page', ''],
  10. 2 : ['sitemap_auto_exclude_file_page', ''],
  11. 3 : ['sitemap_auto_exclude_category_page', ''],
  12. 4 : ['sitemap_auto_make', '']
  13. }
  14. if flask.request.method == 'POST':
  15. for i in setting_list:
  16. curs.execute(db_change("update other set data = ? where name = ?"), [
  17. flask.request.form.get(setting_list[i][0], setting_list[i][1]),
  18. setting_list[i][0]
  19. ])
  20. await acl_check(tool = 'owner_auth', memo = 'edit_set (sitemap)')
  21. return redirect(conn, '/setting/sitemap_set')
  22. else:
  23. d_list = {}
  24. for i in setting_list:
  25. curs.execute(db_change('select data from other where name = ?'), [setting_list[i][0]])
  26. db_data = curs.fetchall()
  27. if not db_data:
  28. curs.execute(db_change('insert into other (name, data, coverage) values (?, ?, "")'), [
  29. setting_list[i][0],
  30. setting_list[i][1]
  31. ])
  32. d_list[i] = db_data[0][0] if db_data else setting_list[i][1]
  33. check_box_div = [0, 1, 2, 3, 4, '']
  34. for i in range(0, len(check_box_div)):
  35. acl_num = check_box_div[i]
  36. if acl_num != '' and d_list[acl_num]:
  37. check_box_div[i] = 'checked="checked"'
  38. else:
  39. check_box_div[i] = ''
  40. sitemap_list = ''
  41. if os.path.exists('sitemap.xml'):
  42. sitemap_list += '<a href="/sitemap.xml">(' + await get_lang('view') + ')</a>'
  43. for_a = 0
  44. while os.path.exists('sitemap_' + str(for_a) + '.xml'):
  45. sitemap_list += ' <a href="/sitemap_' + str(for_a) + '.xml">(sitemap_' + str(for_a) + '.xml)</a>'
  46. for_a += 1
  47. return await render_template(
  48. await get_lang('sitemap_management'),
  49. '''
  50. ''' + sitemap_list + '''
  51. <hr class="main_hr">
  52. <form method="post">
  53. <a href="/setting/sitemap">(''' + await get_lang('sitemap_manual_create') + ''')</a>
  54. <hr class="main_hr">
  55. <label class="__ON_CHECKLABEL__"><input class="__ON_CHECKBOX__" type="checkbox" ''' + check_box_div[4] + ''' name="sitemap_auto_make"> ''' + await get_lang('sitemap_auto_make') + '''</label>
  56. <hr class="main_hr">
  57. <label class="__ON_CHECKLABEL__"><input class="__ON_CHECKBOX__" type="checkbox" ''' + check_box_div[0] + ''' name="sitemap_auto_exclude_domain"> ''' + await get_lang('stiemap_exclude_domain') + '''</label>
  58. <hr class="main_hr">
  59. <label class="__ON_CHECKLABEL__"><input class="__ON_CHECKBOX__" type="checkbox" ''' + check_box_div[1] + ''' name="sitemap_auto_exclude_user_page"> ''' + await get_lang('stiemap_exclude_user_page') + '''</label>
  60. <hr class="main_hr">
  61. <label class="__ON_CHECKLABEL__"><input class="__ON_CHECKBOX__" type="checkbox" ''' + check_box_div[2] + ''' name="sitemap_auto_exclude_file_page"> ''' + await get_lang('stiemap_exclude_file_page') + '''</label>
  62. <hr class="main_hr">
  63. <label class="__ON_CHECKLABEL__"><input class="__ON_CHECKBOX__" type="checkbox" ''' + check_box_div[3] + ''' name="sitemap_auto_exclude_category_page"> ''' + await get_lang('stiemap_exclude_category_page') + '''</label>
  64. <hr class="main_hr">
  65. <button class="__ON_BUTTON__" id="opennamu_save_button" type="submit">''' + await get_lang('save') + '''</button>
  66. </form>
  67. ''',
  68. 0,
  69. [['setting', await get_lang('return')]]
  70. )