def get(self): upload_url = blobstore.create_upload_url('/tripmanager/upload') user,id,url,url_linktext = self.get_user() tree = self.create_trip_tree(id) #get specific trip trip_key = self.request.get('trip_id') tripk = ndb.Key(urlsafe=trip_key) trip = tripk.get() #get tracks for trip track_query = Track.query(ancestor=tripk).order(-Track.creation_date) tracks = track_query.fetch(20) #get number of tracks num = len(tracks) #get blobInfo objects from blob_key bli = [] for track in tracks: bli.append(BlobInfo(track.blob_key)) #get trip cities cities = trip.cities #create list of lon,lat pares for every city cordinates = [] cities_string = "" for city in cities: if city == cities[-1]: cities_string += str(city) else: cities_string += str(city)+"," city = city.lower().replace(" ", "+") try: api_url = "http://api.geonames.org/searchJSON?formatted=true&name={0}&maxRows=1&lang=es&username=wsanjaw&style=short".format(city) result = urlfetch.fetch(api_url) cordinates.append(helper.procesCity(result.content)) except: cordinates.append([0,0]) #get statistic track_stat_query= TrackStatistic.query(ancestor=tripk) stats = track_stat_query.fetch() #create data for total climb chart and bubble chart climb_data = [] bubble_data = [] for s in stats: climb_data.append([s.name,s.total_climb]) bubble_data.append([s.key.parent().id(),s.name[0:3].upper(),s.total_distance,s.total_climb,"tracks",helper.time_to_sec(s.total_time)]) tags = self.get_all_tags(id) #create template template_values = {'user': user, 'url': url, 'url_linktext': url_linktext,'tree':tree,'trip':trip, 'climb_data':map(json.dumps, climb_data),'bubble_data':map(json.dumps, bubble_data), 'tracks':tracks,'blobs':bli,'num':num,'stats':track_stat_query,'cordinates':cordinates, 'upload':upload_url,'cities':cities_string,'sug_location':tags[0],'sug_type':tags[1],'sug_season':tags[2], 'location':self.get_location_filters(),'type':self.get_type_filters(),'season':self.get_season_filters(), 'trip_loc':[str(x) for x in trip.trip_tags.location],'trip_type':[str(x) for x in trip.trip_tags.type], 'trip_ses':[str(x) for x in trip.trip_tags.season]} template = JINJA_ENVIRONMENT.get_template('templates/new/onetriptrackmanager.html') self.response.write(template.render(template_values))
def get(self): user,_,url,url_linktext = self.get_user() #get specific trip trip_key = self.request.get('trip_id') tripk = ndb.Key(urlsafe=trip_key) trip = tripk.get() #get statistic track_stat_query= TrackStatistic.query(ancestor=tripk) stats = track_stat_query.fetch() #create data for total climb chart and bubble chart climb_data = [] bubble_data = [] for s in stats: climb_data.append([s.name,s.total_climb]) bubble_data.append([s.key.parent().id(),s.name[0:3].upper(),s.total_distance,s.total_climb,"tracks",helper.time_to_sec(s.total_time)]) #create template template_values = {'user': user, 'url': url, 'url_linktext': url_linktext, 'climb_data':map(json.dumps, climb_data),'bubble_data':map(json.dumps, bubble_data)} template = JINJA_ENVIRONMENT.get_template('templates/charts.html') self.response.write(template.render(template_values))