예제 #1
0
    def traffic(self, request):
        try:
            days_count = int(request.GET.get('days', 30))
        except ValueError:
            days_count = 30

        if days_count < 10:
            days_step = 1
        elif days_count < 60:
            days_step = 2
        else:
            days_step = 30

        days = [date.today() - timedelta(day) for day in xrange(0, days_count, days_step)]
        days_qs = [(day, Request.objects.day(date=day)) for day in days]
        return HttpResponse(simplejson.dumps(modules.graph(days_qs)), mimetype='text/javascript')
예제 #2
0
    def traffic(self, request):
        try:
            days_count = int(request.GET.get('days', 30))
        except ValueError:
            days_count = 30

        if days_count < 10:
            days_step = 1
        elif days_count < 60:
            days_step = 2
        else:
            days_step = 30

        days = [date.today() - timedelta(day) for day in xrange(0, days_count, days_step)]
        days_qs = [(day, Request.objects.day(date=day)) for day in days]
        return JsonResponse(modules.graph(days_qs), safe=False)
예제 #3
0
    def traffic(self, request):
        try:
            days_count = int(request.GET.get('days', 30))
        except ValueError:
            days_count = 30

        if days_count < 10:
            days_step = 1
        elif days_count < 60:
            days_step = 2
        else:
            days_step = 30

        days = [date.today() - timedelta(day) for day in range(0, days_count, days_step)]
        days_qs = [(day, Request.objects.day(date=day)) for day in days]
        return HttpResponse(json.dumps(modules.graph(days_qs)), content_type='text/javascript')
예제 #4
0
 def overview(self, request):
     days = [date.today() - timedelta(day) for day in range(30)]
     days_qs = [(day, Request.objects.day(date=day)) for day in days]
     
     return render_to_response('admin/request/request/overview.html', {
         'title': _('Request overview'),
         
         'traffic_table': modules.table(INFO_TABLE_QUERIES),
         'traffic_graph': simplejson.dumps(modules.graph(days_qs)),
         
         'lastest_requests': Request.objects.all()[:5],
         
         'top_paths': set_count(Request.objects.this_month().filter(response__lt=400).values_list('path', flat=True))[:10],
         'top_error_paths': set_count(Request.objects.this_month().filter(response__gte=400).values_list('path', flat=True))[:10],
         'top_referrers': set_count(Request.objects.this_month().unique_visits().values_list('referer', flat=True))[:10],
         'top_browsers': set_count(Request.objects.this_month().only('user_agent').attr_list('browser'))[:5],
         'top_search_phrases': set_count(Request.objects.this_month().search().only('referer').attr_list('keywords'))[:10],
         
         'use_hosted_media': settings.REQUEST_USE_HOSTED_MEDIA
     }, context_instance=RequestContext(request))
예제 #5
0
def traffic(request ):
    """Render the json stats for graphing """
    days = [date.today() - timedelta(day) for day in range(10)]
    days_qs = [(day, Request.objects.day(date=day)) for day in days]
    _json = simplejson.dumps(modules.graph(days_qs))
    return HttpResponse(_json, mimetype="application/json")