Stats: hourly

This commit is contained in:
nikolark committed 2012-04-15 17:50:13 +02:00
1 parent 3229d54365
commit 9854a17f4e
4 files changed
+87 -11

No files matched your search

+1
View File
@@ -7,6 +7,7 @@ urlpatterns = patterns('main.views',
url(r'^log/all$', 'log', kwargs={'limit': None}, name='log-all'),
url(r'^stats/$', 'stats', name='stats'),
url(r'^stats/orders/$', 'stats_orders', name='stats-orders'),
url(r'^stats/orders/hourly$', 'stats_orders_hourly', name='stats-orders-hourly'),
url(r'^stats/products/$', 'stats_products', name='stats-products'),
url(r'^stats/products/(?P<product>[0-9]+)/$', 'stats_products', name='stats-product'),
url(r'^products/(?P<product_id>[0-9]+)/$', 'products', name='json-product'),
+17 -1
View File
@@ -1,6 +1,7 @@
# coding: utf-8
from datetime import timedelta
from datetime import datetime
from datetime import timedelta
from itertools import groupby
import simplejson as json
from django.contrib.auth import login, logout as auth_logout
@@ -210,6 +211,21 @@ def stats_orders(request):
f_per_user.append([who, num])
return HttpResponse(json.dumps(f_per_user), content_type='application/javascript; charset=utf8')
def stats_orders_hourly(request):
orders = Order.objects.all()
f_hourly = dict([(key,0) for key in range(0,24)]) # init
# group by hour
for key, values in groupby(orders, key=lambda row: row.created.hour):
count = len(list(values))
f_hourly[key] = f_hourly[key] + count
response = {
'start': str(orders[0].created),
'hourly' : [[k,v] for k,v in f_hourly.iteritems()],
'total' : sum(f_hourly.values()),
}
return HttpResponse(json.dumps(response), content_type='application/javascript; charset=utf8')
def logout(request):
auth_logout(request)
return render_to_response('registration/logout.html', locals(), context_instance=RequestContext(request))