list_title_index.py 2.6 KB

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