Ejemplo n.º 1
0
    except HTTPError, e:
      return e.error_response()

    if not item_list.user_can_update(auth_user):
      message = 'List cannot be modified by the user'
      logging.warn(message)
      return error_response(403, message)

    # Validate data for new item.
    params = web.input(data=None)
    try:
      if params.data:
        item_data = decode_json(params.data)
      else:
        item_data = decode_json(web.ctx.data)
      Item.validate(item_data)
    except ValueError, e:
      logging.warn(e)
      return error_response(400, 'Could not parse JSON')
    except ValidationError, e:
      logging.warn(e)
      return error_response(400, e.error)

    try:
      item = Item(item_data)
      item.set_creator(auth_user)
      item.save()
      item_added = item_list.add_item(item)
      if item_added:
        item_list.save()
        formatted_dict = item.formatted_dict()