def add_user(self, name, public_key=None, override=True): if (name in self.users) and (not override): return validations.validate_username(name) if public_key: validations.validate_public_key(public_key) self.users[name] = {'public_key': public_key}
def add_user(request): """ <Purpose> Reponds to an HTML <form> submission to create a new user. Designed for use in a hidden <iframe>, due to browser limitations on file uploading. <Arguments> request: A Django request with user info in the POST data. <Exceptions> None. <Side Effects> None. <Returns> A Django response containing a JSON representation of the new user, or an error. """ def ErrorResponse(message=''): return TextResponse(json.dumps({'error': message})) if 'name' not in request.POST: return ErrorResponse('User name not specified.') name = request.POST['name'] public_key = None if 'public_key' in request.FILES: public_file = request.FILES['public_key'] public_key = public_file.read().strip() try: validations.validate_username(name) if public_key is not None: validations.validate_public_key(public_key) except validations.ValidationError as e: return ErrorResponse(e) except: log_exception(request) return ErrorResponse('Unknown error occured while trying to add user.') else: return TextResponse( json.dumps({'user': { 'name': name, 'public_key': public_key }}))
def add_user(request): """ <Purpose> Reponds to an HTML <form> submission to create a new user. Designed for use in a hidden <iframe>, due to browser limitations on file uploading. <Arguments> request: A Django request with user info in the POST data. <Exceptions> None. <Side Effects> None. <Returns> A Django response containing a JSON representation of the new user, or an error. """ def ErrorResponse(message=''): return TextResponse(json.dumps({'error': message})) if 'name' not in request.POST: return ErrorResponse('User name not specified.') name = request.POST['name'] public_key = None if 'public_key' in request.FILES: public_file = request.FILES['public_key'] public_key = public_file.read().strip() try: validations.validate_username(name) if public_key is not None: validations.validate_public_key(public_key) except validations.ValidationError as e: return ErrorResponse(e) except: log_exception(request) return ErrorResponse('Unknown error occured while trying to add user.') else: return TextResponse(json.dumps({'user': {'name': name, 'public_key': public_key}}))