def get(self): user = h.get_user_or_redirect( self ) if not user: return user_id = h.param(self,'user_id') service = h.param(self, 'service') person = Person.gql("WHERE id = :1 AND user = :2", user_id, user)[0] template_values = h.template_params( self, user, **{ 'person' : person, 'service' : service }) if service == 'facebook': fb_photos = person.photos.filter('class =', 'FacebookPhoto').filter('album =', None) fb_albums = person.albums.filter('class =', 'FacebookAlbum') fb_token = facebook.FacebookToken.for_user(user) if fb_token: template_values['photos'] = fb_photos template_values['albums'] = fb_albums else: print "no token" elif service == 'flickr': flickr_photos = person.photos.filter('class =', 'FlickrPhoto').filter('album =', None) flickr_albums = person.albums.filter('class =', 'FlickrAlbum') flickr_token = flickr.FlickrToken.for_user(user) if flickr_token: template_values['photos'] = flickr_photos template_values['albums'] = flickr_albums else: print "no token" else: print "no service" h.render_template( self, 'photos/index.html', template_values )
def get(self, groupname): profile = socialdata.get_user_profile(helpers.get_user_email()) if not profile: #if the user does not have a profile, go to home self.redirect('/') else: #otherwise, allow them to create group errorText = "" values = helpers.get_template_parameters() groups = group_data.get_groups_by_courses(profile.courses) listOfGroupNames = [] membersList = membership_data.get_members_from_group(groupname) for group in groups: if ((group.member_limit) - len(membersList) + 1) < 1: errorText += "The member limit has been reached." elif profile.email in membersList: errorText += "You are already in this group." else: listOfGroupNames.append(group.name) values['name'] = profile.name values['groups'] = listOfGroupNames if errorText: values['errormsg'] = errorText else: membership_data.save_membership(helpers.get_user_email(), groupname) self.redirect("/group-list") values['successmsg'] = "Everything worked out fine." helpers.render_template(self, 'group-list.html', values) #show group creation page
def get(self): values = helpers.get_template_parameters() if helpers.get_user_email(): #checks to see if signed in profile = socialdata.get_user_profile(helpers.get_user_email()) if profile: #if the profile exists, we can click on profile-view values['name'] = profile.name helpers.render_template(self, 'mainpage.html', values) # shows page
def get(self): user = None session = appengine_utilities.sessions.Session() username = session.get('user', None) if username: user = models.User.get_by_key_name(username) helpers.render_template(self, 'mainpage.html', {'user':user, 'sessions':models.Session.all()})
def get(self, voicekey): voice = models.Voice.get_by_key_name(voicekey) template_values = { "voice": voice, "voicekey": voicekey, } helpers.render_template(self, "audio.html", template_values)
def get(self): caller = self.request.get("Caller") template_values = {} if caller in initialdata.PHONES: helpers.render_template(self, "index.twml", template_values) else: helpers.render_template(self, "error.twml", template_values)
def get(self): profile = socialdata.get_user_profile(helpers.get_user_email()) if not profile: #if the user does not have a profile, go to home self.redirect('/') else: #otherwise, allow them to create group errorText = '' values = helpers.get_template_parameters() groups = group_data.get_groups_by_courses(profile.courses) listOfGroupNames = [] for group in groups: membersList = membership_data.get_members_from_group( group.name) if ((group.member_limit) - len(membersList) + 1) < 1: errorText += "The member limit has been reached." elif profile.email in membersList: errorText += "You are already in this group." else: listOfGroupNames.append(group.name) listOfInGroups = membership_data.get_groups_from_member( profile.email) listOfInGroupsNoAdmin = [] if len(listOfInGroups) > 0: for group in listOfInGroups: if group_data.get_group_by_name( group).group_admin != profile.email: listOfInGroupsNoAdmin.append(group) values['name'] = profile.name listOfNames = [] for group in group_data.get_admin_groups(profile.email): listOfNames.append(group.name) values["admin_groups"] = listOfNames values['groups'] = listOfGroupNames values["ingroups"] = listOfInGroupsNoAdmin helpers.render_template(self, 'group-list.html', values) #show group creation page
def get(self, id=None): key = '%s' % (id.strip()) logging.info('Request for MP %s', key) mp = MP.all().filter('aristotleid =', long(id)).get() if not mp: self.error(404) articles = helpers.cached(key, lambda:helpers.load_from_json_endpoint('http://content.guardianapis.com/search.json?q=%s' % (quote(mp.name))), 60*60) helpers.render_template(self, 'mp.html', {'mp':mp, 'articles':articles})
def user_area(): ''' Returns the "user area" - a login button if you're not logged in or your name if you are''' # user logged in but information not getting retrieved from fb. if current_user.is_authenticated: return helpers.render_template('loggedin.html', user_name=current_user.name) else: return helpers.render_template('loggedout.html')
def post(self): profile = socialdata.get_user_profile( helpers.get_user_email()) #we get a profile if not profile: #if the profile doesn't exist, we kick them out self.redirect('/') else: error_text = '' #initializes an empty error group_name = self.request.get("group_name") course = self.request.get("course") description = self.request.get("description") member_limit = self.request.get( "quantity") #lines 35 - 42 set default values in group group_admin = helpers.get_user_email() meet = self.request.get("meet") time = self.request.get("time") school = profile.school values = helpers.get_template_parameters() group_name.strip() #lines 49- 57 are name nonos group_name.replace(" ", "&") if (len(group_name) < 1) or (len(course) < 1) or ( len(description) < 1) or (len(member_limit) < 1): error_text += "Make sure all fields are filled" for i in group_name: if i == '?': error_text += "Your name can't have ' ? '\n" elif i == '\\': error_text += "Your name can't have ' \\ '\n" elif i == '/': error_text += "Your name can't have ' / '\n" elif i == '.': error_text += "Your name can't have ' . '\n" elif i == '#': error_text += "Your name can't have ' # '\n" values['group_name'] = group_name #set template values values['courses'] = profile.courses values['description'] = description values['member_limit'] = member_limit values['name'] = profile.name values['meeting_date'] = meet values['meeting_time'] = time if group_data.get_group_by_name(group_name): error_text += "This group name is already taken" if error_text: #print error text if there's a problem values['errormsg'] = error_text else: membership_data.save_membership(helpers.get_user_email(), group_name) group_data.save_group( group_name, description, course, int(member_limit), group_admin, school, meet, time) #print success message if no problem saving values['successmsg'] = "Success!" helpers.render_template(self, 'group-edit.html', values) #go back to edit render
def get(self): activities = models.Activity.all().order('-created_at').fetch(10) locations = models.Location.all().order('-viewcount').fetch(10) template_values = { "centre_point": "", "activities": activities, "locations": locations, } helpers.render_template(self, "views/homeview.html", template_values)
def get(self, listid): item = List.get_by_key_name(listid) template_values = { "media": "icon", "url": "/manage/listicon/", "item": item, "id": listid } helpers.render_template(self, "addmediaform.html", template_values)
def get(self): profile = socialdata.get_user_profile(helpers.get_user_email()) if not profile: #at this point, they should have a profile. If they don't, kick 'em self.redirect('/') else: values = helpers.get_template_parameters() values['courses'] = profile.courses helpers.render_template(self, 'group-edit.html', values) #the page is rendered
def get(self): template_values = { "climbers": initialdata.CLIMBERS, "total": get_total(), "newsitems": get_news(5), "images": get_images(10), "locations": get_locations(10), } helpers.render_template(self, "index.html", template_values)
def get(self, itemid): item = ListItem.get_by_key_name(itemid) template_values = { "media": "audio", "url": "/manage/audio/", "item": item, "id": itemid } helpers.render_template(self, "addmediaform.html", template_values)
def get(self): listset = [] for listid in lists: data = get_list(listid) listset.append(data) template_values = { "listset": listset } # self.response.out.write(listset) helpers.render_template(self, "app.html", template_values)
def get(self): if self.request.get("url"): url = self.request.get("url") else: url = "http://www.dn.se/" proxied_page = proxy.get_dndotse(url) template_values = { "proxied_page": proxied_page, "url":url } helpers.render_template(self, "views/proxyview.html", template_values)
def get(self): user = h.get_user_or_redirect( self ) if not user: return template_values = h.template_params( self, user, **{ 'flickr_auth' : flickr.auth_url(), 'facebook_auth' : facebook.auth_url(), 'facebook_token' : facebook.FacebookToken.for_user(user), 'flickr_token' : flickr.FlickrToken.for_user(user) } ) h.render_template( self, 'settings.html', template_values )
def get(self): query = search.SearchableQuery('SchoolImport') query.Search(self.request.get("query")) count = query.Count(100) schools = query.Run() template_values = { "search": True, "query": self.request.get("query"), "count": count, "schools": schools } helpers.render_template(self, "schools", template_values, "xml")
def get(self, parameter_name, parameter_value): parameter_value = urldecode(parameter_value) queryfilter = parameter_name + " =" query = db.Query(models.SchoolImport) query.filter(queryfilter, parameter_value) schools = query.fetch(1000) template_values = { "list": True, "parameter_name": parameter_name, "parameter_value": parameter_value, "schools": schools } helpers.render_template(self, "schools", template_values, "xml")
def get(self, urn): key = "item_" + urn school = memcache.get(key) if not school: query = models.SchoolImport.all() query.filter("urn =", int(urn)) school = query.get() memcache.add(key, school, 60) template_values = { "urn": urn, "school": school } helpers.render_template(self, "school", template_values, "xml")
def get(self): if not helpers.get_user_email( ): # if they don't have an email, we kick em self.redirect('/') else: values = helpers.get_template_parameters() profile = socialdata.get_user_profile(helpers.get_user_email()) if profile: # if they do have a profile, we populate it with default values values['name'] = profile.name values['school'] = profile.school values['courses'] = profile.courses helpers.render_template(self, 'profile-edit.html', values) # shows the profile-edit page
def get(self): user = h.get_user_or_redirect(self) if not user: return template_values = h.template_params( self, user, **{ 'flickr_auth': flickr.auth_url(), 'facebook_auth': facebook.auth_url(), 'facebook_token': facebook.FacebookToken.for_user(user), 'flickr_token': flickr.FlickrToken.for_user(user) }) h.render_template(self, 'settings.html', template_values)
def get(self): template_values = {} caller = self.request.get("Caller") if caller in initialdata.PHONES: audio_url = self.request.get("RecordingUrl") keyhash = hashlib.md5(caller + audio_url).hexdigest(); voice = models.Voice.get_or_insert(keyhash, audio_url=audio_url) helpers.render_template(self, "end.twml", template_values) voicelist = models.List.get_or_insert("voicelist", list=[]) if keyhash not in voicelist.list: voicelist.list.append(keyhash) message = "<a href='javascript:showAudio(\""+ keyhash +"\")'>New phone message from the team to listen to</a>" newsitem = models.NewsItem.get_or_insert(keyhash, text=message) taskqueue.add(url="/audio/cache", params={"voice":keyhash}, method='GET')
def get(self, groupname): profile = socialdata.get_user_profile(helpers.get_user_email()) if not (profile.email == group_data.get_group_by_name(groupname). group_admin): #if the user does not have a profile, go to home self.redirect('/') else: membership_data.delete_all_membership(groupname) values = helpers.get_template_parameters() values['name'] = profile.name listOfNames = [] for group in group_data.get_admin_groups(profile.email): listOfNames.append(group.name) values["groups"] = listOfNames helpers.render_template(self, 'group-create.html', values) #show group creation page
def get(self): user = h.get_user_or_redirect( self ) if not user: return fb_friends = facebook.FacebookPerson.gql("WHERE user = :1", user) flickr_friends = flickr.FlickrPerson.gql("WHERE user = :1", user) template_values = h.template_params( self, user, **{ 'flickr_auth' : flickr.auth_url(), 'facebook_auth' : facebook.auth_url(), 'facebook_friends' : fb_friends, 'flickr_friends' : flickr_friends } ) h.render_template( self, 'services/index.html', template_values )
def get(self): user = h.get_user_or_redirect(self) if not user: return fb_friends = facebook.FacebookPerson.gql("WHERE user = :1", user) flickr_friends = flickr.FlickrPerson.gql("WHERE user = :1", user) template_values = h.template_params( self, user, **{ 'flickr_auth': flickr.auth_url(), 'facebook_auth': facebook.auth_url(), 'facebook_friends': fb_friends, 'flickr_friends': flickr_friends }) h.render_template(self, 'services/index.html', template_values)
def assinou(): current_user = get_current_user() all_users = get_all_users_by_datetime() ultimos_5 = all_users[:5] maximo = get_maximo_meta() return render_template("assinou.html", current_user=current_user, all_users=all_users, maximo=maximo, ultimos_5=ultimos_5)
def enhance_commands(self, commands_list, templating_values): """Checks and enchances with known listed commands""" tvalues = helpers.merge_templates(templating_values) # preserve order while getting rid of dup entries unique_list = [] [ unique_list.append(single_command) for single_command in commands_list if single_command not in unique_list ] # pylint: disable=expression-not-assigned invalid_commands = [ command for command in list(unique_list) if command not in self._commands ] if len(invalid_commands) > 0: logger.warning("Invalid command(s) found", commands=invalid_commands, module=COMMAND_MODULE_INIT) return [] enhance_list = [self._commands[command] for command in unique_list] filtered_commands = [{ "cmd": helpers.render_template(command.cmd, tvalues), "command": command } for command in enhance_list] return filtered_commands
def get(self, profilename): profile = socialdata.get_profile_by_name( profilename) #gets the profile values = helpers.get_template_parameters() values[ 'name'] = 'Unknown' #if the profile doens't exist we popoulate the spaces with defaults values['courses'] = ["courses does not exist"] values['school'] = "school does not exist" values["groups"] = ["Groups do not exist"] if profile: # if we have a profile, populate the spaces with correct info values['name'] = profile.name values['courses'] = profile.courses values['school'] = profile.school values["groups"] = membership_data.get_groups_from_member( profile.email) helpers.render_template(self, 'profile-view.html', values) #show page
def tr(): app.flash('Trying flashing bying', 'error') tg = Tag.get(Tag.tag_id == 36) print(tg.posts_count) quote = Quote.select().first() messages = StreamMessage.select() return render_template('info.html', messages=messages, quote=quote)
def get(self): articles = models.get_latest_articles() if len(articles) > 0: first_article = articles[0] else: first_article = None return helpers.render_template(self, 'webviews/front.html', {'articles': models.get_articles(), 'first_article': first_article})
def resultados(password): current_user = get_current_user() password_compare = os.environ["PASSWORD_RESULTS"] if os.environ.has_key( "PASSWORD_RESULTS") else "kyb@1234" if password == password_compare: users = get_all_users() top_bands, len_bands = get_top_bands(sort=True) funcionalidades_fa = get_answers_and_counters_from_question( ['fa-funcionalidades']) funcionalidades_musico = get_answers_and_counters_from_question( ['musico-funcionalidades']) newsletters = get_all_newsletters() return render_template('resultados_gerais.html', current_user=current_user, users=users, funcionalidades_fa=funcionalidades_fa, funcionalidades_musico=funcionalidades_musico, bands=top_bands, len_bands=len_bands, newsletters=newsletters) else: abort(404)
def search_band(band_name): current_user = None # TODO: Adicionar em minhas bandas: get_current_user() current_city = "Rio de Janeiro" # get_current_city(ip=get_client_ip()) band = get_or_create_band({ 'slug': get_slug(band_name), 'name': band_name, 'user': current_user }) shows = get_shows_from_bands([band], limit_per_artist=1, city=current_city, call_lastfm_if_dont_have_shows=True, call_lastfm_without_subprocess=True) show = None if shows: show = shows[0][1][0] # Pegando apenas o objeto show da banda return render_template("resultado_uma_banda.html", band=band, show=show, notas=range(11), BANDAS_CAMISAS=BANDAS_CAMISAS, formulario_pag_seguro=formulario_pag_seguro)
def page_not_found(e): context = {'error': e} context['title'] = u'Страница не найдена' context['error_name'] = u'Ошибка 404' context[ 'error_text'] = u'Вы перешли по неправильной ссылке<br />или страница была удалена' return render_template('errors.html', **context), e.code
def get(self, type, url): faviconurl = faviconlookup.getfavicon(url) callback = self.request.get("callback") if type == "json" and callback: type = "jsonp" return helpers.render_template( self, "webviews/%s.html" % (type), {"faviconurl": faviconurl, "callback": callback} )
def post(self): form = models.UrlForm(data=self.request.POST) if form.is_valid(): url = form.clean_data["url"] newurl = models.store_url(url) self.redirect("/admin/view/urls") else: return helpers.render_template(self, 'adminviews/urls.html', {'urls': models.get_urls(), 'form': form})
def wrapper(handler): user = get_current_user() if user: context = {'error': 'You are already logged in!'} return handler.response.out.write( render_template('error_general.html', context)) else: return f(handler)
def loja_virtual(): current_user = get_current_user() produtos_section = True if request.args.get('produtos-section') else False dark = True if request.args.get('dark') else False return render_template('loja_virtual.html', current_user=current_user, formulario_pag_seguro=formulario_pag_seguro, range_quantidade=range(2, 10), range_tamanhos=range_tamanhos, produtos_section=produtos_section, dark=dark, camisas=BANDAS_CAMISAS)
def minhas_bandas(): current_user = get_current_user() bands = random_top_bands(user=current_user) bands_user = get_user_bands(user=current_user) resp = make_response(render_template('minhas_bandas.html', current_user=current_user, bands=bands, bands_user=bands_user)) set_cookie_login(resp, oauth_token=get_facebook_oauth_token()[0]) return resp
def index(request, *args, **kwargs): params = { 'page': 'index', 'title': 'Transitive Bullshit', 'PROCESSING_SKETCHES': processing_test.get_sketches(), } return render_template(request, 'index.html', params)
def index(request, *args, **kwargs): params = { 'page' : 'index', 'title' : 'Transitive Bullshit', 'PROCESSING_SKETCHES' : processing_test.get_sketches(), } return render_template(request, 'index.html', params)
def post(self): form = models.EmailForm(data=self.request.POST) if form.is_valid(): email_address = form.clean_data["email_address"] email = models.store_email(email_address) self.redirect("/admin/view/emails") else: return helpers.render_template(self, 'adminviews/urls.html', {'urls': models.get_urls(), 'form': form})
def wrapper(handler): user = get_current_user() if user: context = { 'error':'You are already logged in!' } return handler.response.out.write(render_template('error_general.html', context)) else: return f(handler)
def article(request, *args, **kwargs): ajax = bool(kwargs.get('ajax', 'False')) article_id = kwargs.get('article', None) if ajax: article_id = article_id.strip().lower() template = '%s.html' % article_id return render_template(request, template, {})
def search(): s = request.args.get('s', '') if s: offers = Offer.objects.search_text(s).order_by('$text_score') else: offers = [] return render_template('search.html', offers=offers, s=s)
def meta(maximo): current_user = get_current_user() all_users = get_all_users_by_datetime() if (current_user.name.startswith("Bernardo") and current_user.name.endswith("Ainbinder")) or\ (current_user.name.startswith("Guilherme") and current_user.name.endswith("Bruzzi")): set_maximo_meta(maximo) else: maximo = get_maximo_meta() return render_template("meta.html", current_user=current_user, all_users=all_users, maximo=maximo)
def article(request, *args, **kwargs): ajax = bool(kwargs.get('ajax', 'False')) article_id = kwargs.get('article', None) if ajax: article_id = article_id.strip().lower() template = '%s.html' % article_id return render_template(request, template, {})
def post(self): email = helpers.get_user_email() if not email: # if they don't have an email, we kick em self.redirect('/') else: error_text = '' # intialize an empty error text name = self.request.get("name") # gets values from form school = self.request.get("school") values = helpers.get_template_parameters() name.strip() name.replace(" ", "&") # Restricts the name choices for the user if len(name) > 60: error_text += "Your name can't be more than 60 letters\n" for i in name: if i == '?': error_text += "Your name can't have ' ? '\n" elif i == '\\': error_text += "Your name can't have ' \\ '\n" elif i == '/': error_text += "Your name can't have ' / '\n" elif i == '.': error_text += "Your name can't have ' . '\n" values['name'] = name coursesList = [] # code for showing repeated courses coursenum = 0 course = self.request.get("classes0") while course: coursesList.append(course) coursenum += 1 course = self.request.get("classes" + str(coursenum)) values['courses'] = coursesList values['school'] = school if error_text: values['errormsg'] = error_text else: socialdata.save_profile( name, email, coursesList, school) # save profile if everything is fine values['successmsg'] = "Success!" helpers.render_template(self, 'profile-edit.html', values) #show page
def write_template(self, input_template, output_path, template_vars): """write a jinja2 template, with support for dry run and logging.""" output = helpers.render_template(input_template, template_vars) if self.args.dry_run: logging.info(f"DRYRUN: Write template " f"{input_template} to {output_path}") else: with open(output_path, 'w') as output_file: output_file.write(output)
def get(self): user = h.get_user_or_redirect(self) if not user: return user_id = h.param(self, 'user_id') service = h.param(self, 'service') person = Person.gql("WHERE id = :1 AND user = :2", user_id, user)[0] template_values = h.template_params( self, user, **{ 'person': person, 'service': service }) if service == 'facebook': fb_photos = person.photos.filter('class =', 'FacebookPhoto').filter( 'album =', None) fb_albums = person.albums.filter('class =', 'FacebookAlbum') fb_token = facebook.FacebookToken.for_user(user) if fb_token: template_values['photos'] = fb_photos template_values['albums'] = fb_albums else: print "no token" elif service == 'flickr': flickr_photos = person.photos.filter('class =', 'FlickrPhoto').filter( 'album =', None) flickr_albums = person.albums.filter('class =', 'FlickrAlbum') flickr_token = flickr.FlickrToken.for_user(user) if flickr_token: template_values['photos'] = flickr_photos template_values['albums'] = flickr_albums else: print "no token" else: print "no service" h.render_template(self, 'photos/index.html', template_values)
def minhas_bandas(): current_user = get_current_user() bands = random_top_bands(user=current_user) bands_user = get_user_bands(user=current_user) resp = make_response( render_template('minhas_bandas.html', current_user=current_user, bands=bands, bands_user=bands_user)) set_cookie_login(resp, oauth_token=get_facebook_oauth_token()[0]) return resp
def test(request, *args, **kwargs): default = 'turing' experiment = kwargs.get('experiment', default) if experiment is None: experiment = default template = '%s.html' % experiment return render_template( request, template, { 'page': 'test', 'title': 'Transitive Bullshit - Lab - %s' % experiment, })
def get(self, groupname): group = group_data.get_group_by_name(groupname) values = helpers.get_template_parameters() values['groupname'] = 'Unknown' values['course'] = "no course" values['school'] = "no school" values['description'] = "no description" values['admin'] = "unknown admin" values["members"] = "unkown members" profile = socialdata.get_user_profile(helpers.get_user_email()) values['name'] = profile.name if group: values['groupname'] = group.name values['course'] = group.course values['school'] = group.school values['description'] = group.description values['meeting_date'] = group.meet values['meeting_time'] = group.time values['admin'] = group.group_admin values["members"] = membership_data.get_members_from_group( groupname) helpers.render_template(self, 'group-view.html', values)
def loja_virtual(): current_user = get_current_user() produtos_section = True if request.args.get('produtos-section') else False dark = True if request.args.get('dark') else False return render_template('loja_virtual.html', current_user=current_user, formulario_pag_seguro=formulario_pag_seguro, range_quantidade=range(2, 10), range_tamanhos=range_tamanhos, produtos_section=produtos_section, dark=dark, camisas=BANDAS_CAMISAS)
def post(self): arg_username = self.request.get('username') arg_password = self.request.get('password') hashed_pass = hash_password(arg_password) existing_user = User.all().filter('username = '******'exists':True } return self.response.out.write(render_template('signup.html', context))
def cart(): cart = Cart.get_or_create() if request.method == 'POST': offer_id = request.form.get('offer_id', None) if offer_id: quantity = request.form.get('quantity', 1) variant = request.form.get('variant', None) cart.add_offer(offer_id, quantity, variant) return redirect(url_for('site.cart')) return render_template('cart.html')
def generate_ansible_cfg(env_path): """Render ansible config file in environment path. Arguments: env_path {string} -- The path of the environment path """ cfg_path = path.realpath(path.join(env_path, 'ansible.cfg')) ssh_cfg_path = path.realpath(path.join(env_path, 'ssh.cfg')) stream = render_template("ansible.cfg.j2", ssh_cfg_path=ssh_cfg_path) with open(cfg_path, "w") as file_handler: file_handler.write(stream)
def dispatcher(path): d_key = Dispatcher.get_by_path(path) d = d_map.get(d_key, None) if not d: return abort(404) template, context = d(path).dispatch() if template == 'redirect': return redirect(**context) elif template == 'abort': return abort(404) return render_template(template, **context)
def bandas_locais(): minhas_bandas_shows = [] current_user = get_current_user() current_city = current_user.city if current_user and current_user.city else "Rio de Janeiro" shows_locais = get_shows_from_bands_by_city(city=current_city) for show_local in shows_locais: main_artist = show_local.artists[0] minhas_bandas_shows.append((main_artist, [show_local])) return render_template("bandas_locais.html", minhas_bandas_shows=minhas_bandas_shows, current_user=current_user, notas=range(11), BANDAS_CAMISAS=BANDAS_CAMISAS, formulario_pag_seguro=formulario_pag_seguro)