list_title_index.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. from .tool.func import *
  2. def list_title_index_2():
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. page = int(number_check(flask.request.args.get('page', '1')))
  6. num = int(number_check(flask.request.args.get('num', '100')))
  7. sql_num = (page * num - num) if page * num > 0 else 0
  8. all_list = sql_num + 1
  9. if num > 1000:
  10. return re_error('/error/3')
  11. data = '<a href="/title_index?num=250">(250)</a> <a href="/title_index?num=500">(500)</a> <a href="/title_index?num=1000">(1000)</a>'
  12. curs.execute(db_change("select title from data order by title asc limit ?, ?"), [sql_num, num])
  13. title_list = curs.fetchall()
  14. if title_list:
  15. data += '<hr class="main_hr"><ul class="opennamu_ul">'
  16. for list_data in title_list:
  17. data += '<li>' + str(all_list) + '. <a href="/w/' + url_pas(list_data[0]) + '">' + html.escape(list_data[0]) + '</a></li>'
  18. all_list += 1
  19. if page == 1:
  20. count_end = []
  21. curs.execute(db_change('select data from other where name = "count_all_title"'))
  22. all_title = curs.fetchall()
  23. if int(all_title[0][0]) < 30000:
  24. count_end += [all_title[0][0]]
  25. sql_list = ['category:', 'user:', 'file:']
  26. for sql in sql_list:
  27. curs.execute(db_change("select count(*) from data where title like ?"), [sql + '%'])
  28. count = curs.fetchall()
  29. if count:
  30. count_end += [count[0][0]]
  31. else:
  32. count_end += [0]
  33. count_end += [count_end[0] - count_end[1] - count_end[2] - count_end[3]]
  34. data += '''
  35. </ul>
  36. <hr class="main_hr">
  37. <ul class="opennamu_ul">
  38. <li>''' + load_lang('all') + ' : ' + str(count_end[0]) + '''</li>
  39. </ul>
  40. <hr class="main_hr">
  41. <ul class="opennamu_ul">
  42. <li>''' + load_lang('category') + ' : ' + str(count_end[1]) + '''</li>
  43. <li>''' + load_lang('user_document') + ' : ' + str(count_end[2]) + '''</li>
  44. <li>''' + load_lang('file') + ' : ' + str(count_end[3]) + '''</li>
  45. <li>''' + load_lang('other') + ' : ' + str(count_end[4]) + '''</li>
  46. '''
  47. else:
  48. data += '''
  49. </ul>
  50. <hr class="main_hr">
  51. <ul class="opennamu_ul">
  52. <li>''' + load_lang('all') + ' : ' + all_title[0][0] + '''</li>
  53. '''
  54. data += '</ul>' + next_fix('/title_index?num=' + str(num) + '&page=', page, title_list, num)
  55. sub = ' (' + str(num) + ')'
  56. return easy_minify(flask.render_template(skin_check(),
  57. imp = [load_lang('all_document_list'), wiki_set(), wiki_custom(), wiki_css([sub, 0])],
  58. data = data,
  59. menu = [['other', load_lang('return')]]
  60. ))