Exemple #1
0
 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})
Exemple #2
0
 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))
Exemple #3
0
 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)
Exemple #4
0
 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))
Exemple #5
0
 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))