Exemplo n.º 1
0
  def _edit_category(self, cat_name, new_item_list):
    user = users.get_current_user()
    categories = list(db.GqlQuery('SELECT * from Category where owner=:1 AND name=:2', user, cat_name))
    category = categories[0]
    old_item_list = []
    for item in category.items:
      old_item_list.append(item.name)
    items_to_add = list(set(new_item_list) - set(old_item_list))
    items_to_delete = list(set(old_item_list) - set(new_item_list))

    for item_name in items_to_add:
      item = Item(name=item_name, category=category, wins=0, losses=0)
      item.put()

    deleted_items = category.items.filter('name IN', items_to_delete)
    for item in deleted_items:
      item.delete()