Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import web, datetime,utils
- from twit import statsdb
- statsdb.printing = False
- def check(app_name='inmymafia', hour=None, day=None):
- now = datetime.datetime.now()
- this_hour_time = now
- this_hour_day = datetime.datetime(day=this_hour_time.day, month=this_hour_time.month, year=this_hour_time.year)
- this_hour_hour = this_hour_time.hour
- 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()
- this_hour = web.Storage()
- for x in this_hour_stats:
- this_hour[x.src] = x.sum
- last_hour_time = now - datetime.timedelta(minutes=now.minute+1)
- last_hour_day = datetime.datetime(day=last_hour_time.day,month=last_hour_time.month,year=last_hour_time.year)
- last_hour_hour = last_hour_time.hour
- 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()
- last_hour = web.Storage()
- for x in last_hour_stats:
- last_hour[x.src] = x.sum
- last_hour_2_time = now - datetime.timedelta(minutes=now.minute+61)
- last_hour_2_day = datetime.datetime(day=last_hour_2_time.day,month=last_hour_2_time.month,year=last_hour_2_time.year)
- last_hour_2_hour = last_hour_2_time.hour
- 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()
- last_hour_2 = web.Storage()
- for x in last_hour_2_stats:
- last_hour_2[x.src] = x.sum
- today_time = now
- today_day = datetime.datetime(day=today_time.day,month=today_time.month,year=today_time.year)
- 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()
- today = web.Storage()
- for x in today_stats:
- today[x.src] = x.sum
- yesterday_time = now - datetime.timedelta(days=1)
- yesterday_day = datetime.datetime(day=yesterday_time.day,month=yesterday_time.month,year=yesterday_time.year)
- 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()
- yesterday = web.Storage()
- for x in yesterday_stats:
- yesterday[x.src] = x.sum
- this_week_time = now - datetime.timedelta(days=now.weekday())
- this_week_day = datetime.datetime(day=this_week_time.day,month=this_week_time.month,year=this_week_time.year)
- 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()
- this_week = web.Storage()
- for x in this_week_stats:
- this_week[x.src] = x.sum
- last_week_time_begin = now - datetime.timedelta(days=now.weekday()+7)
- last_week_time_end = now - datetime.timedelta(days=now.weekday())
- last_week_day_begin = datetime.datetime(day=last_week_time_begin.day,month=last_week_time_begin.month,year=last_week_time_begin.year)
- last_week_day_end = datetime.datetime(day=last_week_time_end.day,month=last_week_time_end.month,year=last_week_time_end.year)
- 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()
- last_week = web.Storage()
- for x in this_week_stats:
- last_week[x.src] = x.sum
- this_month_day_begin = datetime.datetime(day=1, month=now.month, year=now.year)
- this_month_day_end = today_day
- 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()
- this_month = web.Storage()
- for x in this_month_stats:
- this_month[x.src] = x.sum
- all_sources = []
- for x in last_hour_stats + last_hour_2_stats + today_stats + this_week_stats + last_week_stats + this_month_stats + this_hour_stats:
- if x.src not in all_sources:
- all_sources.append(x.src)
- utils.quicksendmail('%s stats %s' % (app_name, this_hour_time.strftime('%I %p %b %d')), str(web.render('hourlystats.html', asTemplate=True)))
- if __name__ == '__main__':
- for app_name in ['inmymafia', 'myfriendofday', 'knowmyfriend', ]:
- check(app_name)
Add Comment
Please, Sign In to add comment