def weekly_stat(request): week = request.GET.get('week') token_param = request.GET.get('token') if not AuthToken.is_token_valid(token_param) and settings.DEBUG is False: return JsonResponse({'status': 'INVALID_TOKEN'}) if week: try: week = datetime.strptime(week, '%m-%d-%Y') except: return JsonResponse({'status': 'ILLEGAL_DATE_FORMAT'}) from models import UserStats token = AuthToken.objects.get(token_string=token_param) weekly_stats = UserStats.get_weekly_stats(token.user, week) return JsonResponse({'status': 'OK', 'week_of': week - datetime.timedelta(days=week.weekday()), 'weekly_stats': weekly_stats, })
def profile(request): token_param = request.GET.get('token') if not AuthToken.is_token_valid(token_param) and settings.DEBUG is False: return JsonResponse({'status': 'INVALID_TOKEN'}) from models import UserStats token = AuthToken.objects.get(token_string=token_param) weekly_stats = UserStats.get_weekly_stats(token.user) all_time_stats = UserStats.get_all_time_stats(token.user) prestige, challenge_progress = divmod(all_time_stats.get('all_time_steps'), 100) return JsonResponse({'status': 'OK', 'nick_name': token.user.public_name, 'all_time_stats': all_time_stats, 'weekly_stats': weekly_stats, 'current_challenge': { 'id': '1', 'prestige': prestige, 'name': 'mount_europa', 'total_steps': '100', 'current_steps': challenge_progress, }, })