def user_tracking(request, user_id): if not request.user.is_superuser: raise Http404 user = get_object_or_404(User, id=user_id) count = redis.keys('gedgo_user_%d_page_view_count' % user.id) if not count: raise Http404 views = redis.lrange('gedgo_user_%d_page_views' % user.id, 0, -1) views = [_load_page_view(v) for v in views] return render(request, 'user_tracking.html', { 'user': user, 'count': count, 'views': views })
def user_tracking(request, user_id): if not request.user.is_superuser: raise Http404 user = get_object_or_404(User, id=user_id) count = redis.keys('gedgo_user_%d_page_view_count' % user.id) if not count: raise Http404 views = redis.lrange('gedgo_user_%d_page_views' % user.id, 0, -1) views = [_load_page_view(v) for v in views] return render( request, 'user_tracking.html', { 'user': user, 'count': count, 'views': views } )
def _page_view_stats(): if redis is None: return datetime.datetime.utcnow(), {}, 0 user_keys = redis.keys('gedgo_user_*_page_view_count') users = User.objects.filter( id__in=[int(k.split('_')[2]) for k in user_keys]) user_views = [] for user in users: last = redis.lrange('gedgo_user_%d_page_views' % user.id, 0, 0)[0] pvc = redis.get('gedgo_user_%d_page_view_count' % user.id) user_views.append({ 'user': user, 'last_view': _load_page_view(last)['timestamp'], 'count': pvc }) user_views = sorted(user_views, key=lambda x: x['last_view'], reverse=True) tracking_start = _timestamp_from_redis('gedgo_tracking_start') return tracking_start, user_views, redis.get('gedgo_page_view_count')
def _page_view_stats(): if redis is None: return datetime.datetime.utcnow(), {}, 0 user_keys = redis.keys('gedgo_user_*_page_view_count') users = User.objects.filter( id__in=[int(k.split('_')[2]) for k in user_keys] ) user_views = [] for user in users: last = redis.lrange('gedgo_user_%d_page_views' % user.id, 0, 0)[0] pvc = redis.get('gedgo_user_%d_page_view_count' % user.id) user_views.append({ 'user': user, 'last_view': _load_page_view(last)['timestamp'], 'count': pvc }) user_views = sorted(user_views, key=lambda x: x['last_view'], reverse=True) tracking_start = _timestamp_from_redis('gedgo_tracking_start') return tracking_start, user_views, redis.get('gedgo_page_view_count')