def post(self, user_id): user = UserData.get_user_from_id(user_id) if not user: raise Exception("I don't know that person") #TODO (phillip): The flow of this code looks more complicated and confusing than it # needs to be. Try to clean it up data = request.form p = None for exc in user.point_exceptions: if exc.point_category == data['point_category']: p = exc if not p: p = PointException() p.point_category = data.get('point_category', type=str) p.points_needed = data.get('points_needed', type=int) user.point_exceptions.append(p) else: p.points_needed = data.get('points_needed', type=int) user.put() response = jsonify() response.status_code = 201 response.headers['location'] = "/api/users/" + user.user_id + \ "/point-exceptions/" + \ str(user.point_exceptions.index(p)) return response