Advertisement
Guest User

Untitled

a guest
May 9th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1. def post(self):
  2.         '''
  3.        Adds a new user to the database.
  4.        RESPONSE STATUS CODE:
  5.         * Returns 201 if the user is created
  6.         * Return 400 if the body is not well formed
  7.         * Return 409 if invalid ID
  8.         * Return 415 if unsupported media type
  9.         * Return 500 if cannot access the database
  10.        '''
  11.         if JSON != request.headers.get('Content-Type',''):
  12.             return create_error_response(415, "Unsupported Media Type",
  13.                                          "Use a JSON compatible format")
  14.         request_body = request.get_json(force=True)
  15.         if not request_body:
  16.             return create_error_response(415, "Unsupported Media Type",
  17.                                          "Use a JSON compatible format",
  18.                                          )
  19.  
  20.         data = request.data
  21.         req = json.loads(data)
  22.         nick = None
  23.         email = None
  24.         password =None
  25.  
  26.         for key in req.keys():
  27.             if (key == "additionalName"):
  28.                 nick = req['additionalName']
  29.             elif (key == "email"):
  30.                 email = req['email']
  31.             elif (key == "password"):
  32.                 password = req['password']
  33.         if (nick == None or email == None or password == None):
  34.             return create_error_response(400, "Wrong request format",
  35.                                          "Missing headline or user"
  36.                                          )
  37.         new_user = None
  38.         try:
  39.             new_user = g.con.add_user(nick, email, password, 1)
  40.         except ValueError:
  41.             return create_error_response(400, "Wrong request format",
  42.                                          "Missing headline or user"
  43.                                          )
  44.         except sqlite3.IntegrityError:
  45.             # Unexisting user
  46.             return create_error_response(409, "Invalid used id. User doesn't exist",
  47.                                          "Invalid user id"
  48.                                          )
  49.  
  50.         if (new_user):
  51.             return Response(
  52.                 status=201,
  53.                 headers={"Location": api.url_for(User,
  54.                                                  user_id=new_user)})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement