def delete(self, cat_id): category = Category.get_by_id(int(cat_id)) cat_name = category.name for item in category.items: item.delete() category.delete() self._show_home_page({'success': 'Successfully deleted category "%s"' % cat_name})
def result(self, cat_id): template = templates.get('results_items.html') user = users.get_current_user() category = Category.get_by_id(int(cat_id)) items = category.items item_list = [] for item in items: try: percentage = item.wins * 100.0 / (item.wins + item.losses) percentage_str = '%.2f' % percentage except ZeroDivisionError: percentage = -1 percentage_str = '-' item_dict = {'id': item.key().id(), 'name': item.name, 'wins': item.wins, 'losses': item.losses, 'comments': item.comments, 'percentage': percentage, 'comment_count': item.comments.count(), 'percentage_str': percentage_str} item_list.append(item_dict) item_list = sorted(item_list, key=lambda k: k['percentage'], reverse=True) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'items': item_list, 'category': category.name } self.response.out.write(template.render(template_values))
def export(self, cat_id): category = Category.get_by_id(int(cat_id)) self.response.headers['Content-Type'] = 'text/xml' xml_str = '<CATEGORY><NAME>' + category.name + '</NAME>' for item in category.items: xml_str += '<ITEM><NAME>' + item.name + '</NAME></ITEM>' xml_str += '</CATEGORY>' self.response.out.write('<?xml version="1.0" encoding="ISO-8859-1"?>' + xml_str)
def show_edit(self, cat_id): category = Category.get_by_id(int(cat_id)) expires_in = (category.expiry - datetime.now()).days if expires_in < 0: expires_in = 0 template = templates.get('edit_page.html') user = users.get_current_user() template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'items': category.items, 'category': category, 'expires_in': expires_in, 'item_count': category.items.count() } self.response.write(template.render(template_values))
def vote(self, cat_id): user = users.get_current_user() template = templates.get('vote.html') category = Category.get_by_id(int(cat_id)) items = category.items selected_items = list(random.sample(set(items), 2)) item1 = self.get_item_dict(selected_items[0]) item2 = self.get_item_dict(selected_items[1]) template_values = { 'user' : user.nickname(), 'logout_url': users.create_logout_url("/"), 'category': category.name, 'item1': item1, 'item2': item2 } self.response.out.write(template.render(template_values))