user_count.py 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. from .tool.func import *
  2. def user_count(name = None):
  3. with get_db_connect() as conn:
  4. curs = conn.cursor()
  5. if name == None:
  6. that = ip_check()
  7. else:
  8. that = name
  9. curs.execute(db_change("select count(*) from history where ip = ?"), [that])
  10. count = curs.fetchall()
  11. if count:
  12. data = count[0][0]
  13. else:
  14. data = 0
  15. curs.execute(db_change("select count(*) from topic where ip = ?"), [that])
  16. count = curs.fetchall()
  17. if count:
  18. data_topic = count[0][0]
  19. else:
  20. data_topic = 0
  21. date = get_time()
  22. date = date.split()
  23. date = date[0]
  24. curs.execute(db_change("select count(*) from history where date like ? and ip = ?"), [date + '%', that])
  25. count = curs.fetchall()
  26. if count:
  27. data_today = count[0][0]
  28. else:
  29. data_today = 0
  30. data_today_len = 0
  31. curs.execute(db_change("select leng from history where date like ? and ip = ?"), [date + '%', that])
  32. db_data = curs.fetchall()
  33. for count in db_data:
  34. count_data = count[0]
  35. count_data = count_data.replace('+', '')
  36. count_data = count_data.replace('-', '')
  37. data_today_len += int(count_data)
  38. date_yesterday = str((
  39. datetime.datetime.today() + datetime.timedelta(days = -1)
  40. ).strftime("%Y-%m-%d"))
  41. curs.execute(db_change("select count(*) from history where date like ? and ip = ?"), [date_yesterday + '%', that])
  42. count = curs.fetchall()
  43. if count:
  44. data_yesterday = count[0][0]
  45. else:
  46. data_yesterday = 0
  47. data_yesterday_len = 0
  48. curs.execute(db_change("select leng from history where date like ? and ip = ?"), [date_yesterday + '%', that])
  49. db_data = curs.fetchall()
  50. for count in db_data:
  51. data_yesterday_len += int(count[0][1:])
  52. # 한글 지원 필요
  53. return easy_minify(flask.render_template(skin_check(),
  54. imp = [load_lang('count'), wiki_set(), wiki_custom(), wiki_css([0, 0])],
  55. data = '''
  56. <ul class="inside_ul">
  57. <li><a href="/record/''' + url_pas(that) + '''">''' + load_lang('edit_record') + '''</a> : ''' + str(data) + '''</li>
  58. <li><a href="/record/topic/''' + url_pas(that) + '''">''' + load_lang('discussion_record') + '''</a> : ''' + str(data_topic) + '''</a></li>
  59. <hr>
  60. <li>(''' + load_lang('beta') + ''') TODAY : ''' + str(data_today) + '''</li>
  61. <li>(''' + load_lang('beta') + ''') TODAY LEN : ''' + str(data_today_len) + '''</li>
  62. <li>(''' + load_lang('beta') + ''') TODAY DIFF : ''' + str(data_today_len - data_yesterday_len) + '''</li>
  63. <hr>
  64. <li>(''' + load_lang('beta') + ''') YESTERDAY : ''' + str(data_yesterday) + '''</li>
  65. <li>(''' + load_lang('beta') + ''') YESTERDAY LEN : ''' + str(data_yesterday_len) + '''</li>
  66. </ul>
  67. ''',
  68. menu = [['user', load_lang('return')]]
  69. ))