title_index.py 2.6 KB

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