Example #1
0
def user_profile(request, user_name=None):
    if user_name:
        all_users = models.PisteUser.all()
        all_users.filter('user_id = ', user_name)
        user = all_users.get()
        if user == None:
            return render_to_response('error.html',
                                     {'error' : "User not found"})
        if user.rawlog_set.count()>0:
            polished = {}
            polished["name"] = user_name
            polished['total_runs']=user.run_set.count()
            polished['total_km']=str(round(helpers.get_total_km(user), 2))
            polished['total_jumps']=helpers.get_total_jumps(user)
            polished['total_time']=helpers.get_total_time(user)
            
            runs_polished = []
            for run_entry in user.run_set.order('-created'):
                runs_polished.append({"run_guid": run_entry.guid,
                                      "run_time": helpers.get_time_diff_readable(run_entry.last_time_pointer),
                                      "run_length": str(round(helpers.get_total_run_length(run_entry), 2))})
            
            return render_to_response('user_profile.html',
                                     {'user_name' : user_name,
                                      'polished': polished,
                                     'runs_polished': runs_polished})
    else:
        return render_to_response('error.html',
                                  {'error' : "No name given"})
Example #2
0
def user_run(request, user_name=None, run_guid=None):
    if user_name:
        run_query_results = models.Run.gql("WHERE guid= :1", run_guid)
        if run_query_results.count() > 0:
            polished = []
            for run in run_query_results:
                # fetch the needed values for all the raw logs inside this run
                jumps = 0
                highest_point = 0.0
                speed = 0.0
                max_speed = 0.0
                for rawlog_entry in run.rawlog_set:
                    jumps += rawlog_entry.jumps
                    if highest_point < rawlog_entry.highest_altitude:
                        highest_point = rawlog_entry.highest_altitude
                    speed = rawlog_entry.avg_speed
                    if max_speed < rawlog_entry.max_speed:
                        max_speed = rawlog_entry.max_speed
                if run.rawlog_set.count() > 0:
                    speed = speed / run.rawlog_set.count()

                polished.append({
                    "run_duration":
                    run.last_time_pointer - run.start_time,
                    "run_length":
                    str(round(helpers.get_total_run_length(run), 2)),
                    "run_jumps":
                    jumps,
                    "run_highest":
                    str(round(highest_point, 2)),
                    "run_avg_speed":
                    str(round(speed, 2)),
                    "run_max_speed":
                    str(round(max_speed, 2)),
                    "run_start_location_lat":
                    run.start_location_lat,
                    "run_start_location_lon":
                    run.start_location_lon,
                    "run_board":
                    run.board,
                    "run_stance":
                    run.stance,
                    "run_degree_front":
                    run.degree_front,
                    "run_degree_back":
                    run.degree_back,
                    "run_music":
                    run.music_listened,
                    "run_resort":
                    run.resort_id,
                })

            return render_to_response('polished_run.html', {
                'user_name': user_name,
                'polished': polished
            })
    else:
        return render_to_response('error.html', {'error': "No name given"})
Example #3
0
def user_run(request, user_name=None, run_guid=None):
    if user_name:
        run_query_results = models.Run.gql("WHERE guid= :1", run_guid)
        if run_query_results.count()>0:         
            polished = []
            for run in run_query_results:
                # fetch the needed values for all the raw logs inside this run
                jumps = 0
                highest_point = 0.0
                speed = 0.0
                max_speed = 0.0
                for rawlog_entry in run.rawlog_set:
                    jumps += rawlog_entry.jumps
                    if highest_point < rawlog_entry.highest_altitude:
                        highest_point = rawlog_entry.highest_altitude
                    speed = rawlog_entry.avg_speed
                    if max_speed < rawlog_entry.max_speed:
                        max_speed = rawlog_entry.max_speed
                if run.rawlog_set.count() > 0:
                    speed = speed / run.rawlog_set.count()
                
                polished.append({"run_duration": run.last_time_pointer - run.start_time,
                                 "run_length": str(round(helpers.get_total_run_length(run), 2)),
                                 "run_jumps": jumps,
                                 "run_highest": str(round(highest_point, 2)),
                                 "run_avg_speed": str(round(speed, 2)),
                                 "run_max_speed": str(round(max_speed, 2)),
                                 "run_start_location_lat": run.start_location_lat,
                                 "run_start_location_lon": run.start_location_lon,
                                 "run_board": run.board,
                                 "run_stance": run.stance,
                                 "run_degree_front": run.degree_front,
                                 "run_degree_back": run.degree_back,
                                 "run_music": run.music_listened,
                                 "run_resort": run.resort_id,})
                                 
            return render_to_response('polished_run.html',
                                     {'user_name' : user_name,
                                      'polished': polished})
    else:
        return render_to_response('error.html',
                                  {'error' : "No name given"})
Example #4
0
def user_profile(request, user_name=None):
    if user_name:
        all_users = models.PisteUser.all()
        all_users.filter('user_id = ', user_name)
        user = all_users.get()
        if user == None:
            return render_to_response('error.html',
                                      {'error': "User not found"})
        if user.rawlog_set.count() > 0:
            polished = {}
            polished["name"] = user_name
            polished['total_runs'] = user.run_set.count()
            polished['total_km'] = str(round(helpers.get_total_km(user), 2))
            polished['total_jumps'] = helpers.get_total_jumps(user)
            polished['total_time'] = helpers.get_total_time(user)

            runs_polished = []
            for run_entry in user.run_set.order('-created'):
                runs_polished.append({
                    "run_guid":
                    run_entry.guid,
                    "run_time":
                    helpers.get_time_diff_readable(
                        run_entry.last_time_pointer),
                    "run_length":
                    str(round(helpers.get_total_run_length(run_entry), 2))
                })

            return render_to_response(
                'user_profile.html', {
                    'user_name': user_name,
                    'polished': polished,
                    'runs_polished': runs_polished
                })
    else:
        return render_to_response('error.html', {'error': "No name given"})