Пример #1
0
 def post(self, account_id, todo_list_id, todo_item_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         item_data = json.loads(self.request.body)
         todo_iem = TodoItem.get_by_id(id=int(todo_item_id), parent=todo_list.key)
         if todo_iem:
             todo_iem.populate(**item_data)
             todo_iem.put()
             item_dict = todo_iem.to_dict(exclude=['created', 'updated', 'todo_list'])
             item_dict['id'] = todo_iem.key.id()
             self.response.out.write(json.dumps(item_dict))
         else:
             result = {'error': 'Bad Request', 'message': 'Invalid todo item %s' % todo_item_id}
             self.response.set_status(400, json.dumps(result))
             self.response.out.write(json.dumps(result))
     except AttributeError as ae:
         result = {'error': 'Bad request', 'message': ae.message}
         self.response.set_status(400, json.dumps(result))
         self.response.out.write(json.dumps(result))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))
Пример #2
0
  def task_handler_method(self, my_list, task_id):
    task_id = long(task_id)
    task = TodoItem.get_by_id(task_id, parent=my_list)
    if not task:
      self.not_found()
      return

    return method(self, my_list, task)
Пример #3
0
 def get(self, account_id, todo_list_id, todo_item_id):
     self.response.headers['Content-Type'] = 'application/json'
     try:
         account = Account.get_by_id(int(account_id))
         todo_list = TodoList.get_by_id(id=int(todo_list_id), parent=account.key)
         todo_item = TodoItem.get_by_id(id=int(todo_item_id), parent=todo_list.key)
         todo_item_dict = todo_item.to_dict(exclude=['todo_list', 'created', 'updated'])
         self.response.out.write(json.dumps(todo_item_dict))
     except Exception as e:
         result = {'error': 'Unexpected error has occurred', 'message': e.message}
         self.response.set_status(500, json.dumps(result))
         self.response.out.write(json.dumps(result))