def get(self): """Displays list of competition""" try: loc_role = self.session.get('role') except: loc_role = 'anonim' comps = Competition.all().order('d_start') comps_count = comps.count() d_start = [] d_finish = [] pzs = [] is_open_pz = [] for c in comps: d_start.append(str(c.d_start)) d_finish.append(str(c.d_finish)) infos_of_comp = c.info_set.run(batch_size=1000) is_open = False for info_of_day in infos_of_comp: is_open = is_open or (info_of_day.pz_is_open and (datetime.today().date() < info_of_day.pz_add_end)) is_open_pz.append(is_open) d_start = format_date_list(d_start) d_finish = format_date_list(d_finish) user = users.get_current_user() temp_values = {'comps': comps, 'c_count': comps_count, 'd_start': d_start, 'd_finish': d_finish, 'pzs': pzs, 'is_open_pz': is_open_pz} if not user: # user is anonim login = users.create_login_url(dest_url='/postSignIn') temp_values.update({'login': login, 'is_user': False}) template = JINJA_ENVIRONMENT.get_template('/templates/tmmosc/CompetitionList.html') else: email = user.email() [is_org, is_lead, is_memb] = find_user(email) roles = create_roles_head(self, is_org, is_lead, is_memb) temp_values.update({'user_email': email, 'roles': roles, 'logout': users.create_logout_url('/login'), 'is_user': True}) try: # show compList corresponding to user's role template = JINJA_ENVIRONMENT.get_template('/templates/tmmosc/%s/CompetitionList.html' % loc_role) except: # user is anonim login = users.create_login_url(dest_url='/postSignIn') temp_values = {'login': login, 'comps': comps, 'c_count': comps_count, 'd_start': d_start, 'd_finish': d_finish, 'pzs': pzs, 'is_open_pz': is_open_pz, 'logout': users.create_logout_url('/login')} template = JINJA_ENVIRONMENT.get_template('/templates/tmmosc/CompetitionList.html') self.response.write(template.render(temp_values))