Guest User

Untitled

a guest
Jul 19th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.70 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import web, datetime,utils
  5. from twit import statsdb
  6. statsdb.printing = False
  7. def check(app_name='inmymafia', hour=None, day=None):
  8. now = datetime.datetime.now()
  9.  
  10. this_hour_time = now
  11. this_hour_day = datetime.datetime(day=this_hour_time.day, month=this_hour_time.month, year=this_hour_time.year)
  12. this_hour_hour = this_hour_time.hour
  13. this_hour_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day=$this_hour_day and hour=$this_hour_hour group by src order by sum desc;''', vars=locals()).list()
  14. this_hour = web.Storage()
  15. for x in this_hour_stats:
  16. this_hour[x.src] = x.sum
  17.  
  18. last_hour_time = now - datetime.timedelta(minutes=now.minute+1)
  19. last_hour_day = datetime.datetime(day=last_hour_time.day,month=last_hour_time.month,year=last_hour_time.year)
  20. last_hour_hour = last_hour_time.hour
  21. last_hour_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day=$last_hour_day and hour=$last_hour_hour group by src order by sum desc;''', vars=locals()).list()
  22. last_hour = web.Storage()
  23. for x in last_hour_stats:
  24. last_hour[x.src] = x.sum
  25.  
  26. last_hour_2_time = now - datetime.timedelta(minutes=now.minute+61)
  27. last_hour_2_day = datetime.datetime(day=last_hour_2_time.day,month=last_hour_2_time.month,year=last_hour_2_time.year)
  28. last_hour_2_hour = last_hour_2_time.hour
  29. last_hour_2_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day=$last_hour_2_day and hour=$last_hour_2_hour group by src order by sum desc;''', vars=locals()).list()
  30. last_hour_2 = web.Storage()
  31. for x in last_hour_2_stats:
  32. last_hour_2[x.src] = x.sum
  33.  
  34. today_time = now
  35. today_day = datetime.datetime(day=today_time.day,month=today_time.month,year=today_time.year)
  36. today_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day=$today_day group by src order by sum desc;''', vars=locals()).list()
  37. today = web.Storage()
  38. for x in today_stats:
  39. today[x.src] = x.sum
  40.  
  41. yesterday_time = now - datetime.timedelta(days=1)
  42. yesterday_day = datetime.datetime(day=yesterday_time.day,month=yesterday_time.month,year=yesterday_time.year)
  43. yesterday_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day=$yesterday_day group by src order by sum desc;''', vars=locals()).list()
  44. yesterday = web.Storage()
  45. for x in yesterday_stats:
  46. yesterday[x.src] = x.sum
  47.  
  48. this_week_time = now - datetime.timedelta(days=now.weekday())
  49. this_week_day = datetime.datetime(day=this_week_time.day,month=this_week_time.month,year=this_week_time.year)
  50. this_week_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day>=$this_week_day and day<=$today_day group by src order by sum desc;''', vars=locals()).list()
  51. this_week = web.Storage()
  52. for x in this_week_stats:
  53. this_week[x.src] = x.sum
  54.  
  55. last_week_time_begin = now - datetime.timedelta(days=now.weekday()+7)
  56. last_week_time_end = now - datetime.timedelta(days=now.weekday())
  57. last_week_day_begin = datetime.datetime(day=last_week_time_begin.day,month=last_week_time_begin.month,year=last_week_time_begin.year)
  58. last_week_day_end = datetime.datetime(day=last_week_time_end.day,month=last_week_time_end.month,year=last_week_time_end.year)
  59. last_week_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day>=$last_week_day_begin and day<$last_week_day_end group by src order by sum desc;''', vars=locals()).list()
  60. last_week = web.Storage()
  61. for x in this_week_stats:
  62. last_week[x.src] = x.sum
  63.  
  64.  
  65. this_month_day_begin = datetime.datetime(day=1, month=now.month, year=now.year)
  66. this_month_day_end = today_day
  67. this_month_stats = statsdb.query('''SELECT src, sum(count) from trackers where app_name=$app_name and day>=$this_month_day_begin and day<=$this_month_day_end group by src order by sum desc;''', vars=locals()).list()
  68. this_month = web.Storage()
  69. for x in this_month_stats:
  70. this_month[x.src] = x.sum
  71.  
  72. all_sources = []
  73. for x in last_hour_stats + last_hour_2_stats + today_stats + this_week_stats + last_week_stats + this_month_stats + this_hour_stats:
  74. if x.src not in all_sources:
  75. all_sources.append(x.src)
  76.  
  77.  
  78. utils.quicksendmail('%s stats %s' % (app_name, this_hour_time.strftime('%I %p %b %d')), str(web.render('hourlystats.html', asTemplate=True)))
  79.  
  80. if __name__ == '__main__':
  81. for app_name in ['inmymafia', 'myfriendofday', 'knowmyfriend', ]:
  82. check(app_name)
Add Comment
Please, Sign In to add comment