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"})
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"})
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"})
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"})