list_title_index.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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="inside_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. curs.execute(db_change("select count(*) from data"))
  25. count = curs.fetchall()
  26. if count:
  27. count_end += [count[0][0]]
  28. else:
  29. count_end += [0]
  30. sql_list = ['category:', 'user:', 'file:']
  31. for sql in sql_list:
  32. curs.execute(db_change("select count(*) from data where title like ?"), [sql + '%'])
  33. count = curs.fetchall()
  34. if count:
  35. count_end += [count[0][0]]
  36. else:
  37. count_end += [0]
  38. count_end += [count_end[0] - count_end[1] - count_end[2] - count_end[3]]
  39. data += '''
  40. </ul>
  41. <hr class="main_hr">
  42. <ul class="inside_ul">
  43. <li>''' + load_lang('all') + ' : ' + str(count_end[0]) + '''</li>
  44. </ul>
  45. <hr class="main_hr">
  46. <ul class="inside_ul">
  47. <li>''' + load_lang('category') + ' : ' + str(count_end[1]) + '''</li>
  48. <li>''' + load_lang('user_document') + ' : ' + str(count_end[2]) + '''</li>
  49. <li>''' + load_lang('file') + ' : ' + str(count_end[3]) + '''</li>
  50. <li>''' + load_lang('other') + ' : ' + str(count_end[4]) + '''</li>
  51. '''
  52. else:
  53. data += '''
  54. </ul>
  55. <hr class="main_hr">
  56. <ul class="inside_ul">
  57. <li>''' + load_lang('all') + ' : ' + all_title[0][0] + '''</li>
  58. '''
  59. data += '</ul>' + next_fix('/title_index?num=' + str(num) + '&page=', page, title_list, num)
  60. sub = ' (' + str(num) + ')'
  61. return easy_minify(flask.render_template(skin_check(),
  62. imp = [load_lang('all_document_list'), wiki_set(), wiki_custom(), wiki_css([sub, 0])],
  63. data = data,
  64. menu = [['other', load_lang('return')]]
  65. ))