def __init__(self, username, password): self.username = username self.pw_hash = make_pw_hash(password)
def register(cls, username, pw, email = None): pw_hash = hashutil.make_pw_hash(username, pw) return User(parent = users_key(), username = username, pw_hash = pw_hash, email = email)
def post(self): input_username = self.request.get("username") input_password = self.request.get("password") input_verify = self.request.get("verify") input_email = self.request.get("email") err_username = "" err_password = "" err_verify = "" err_email = "" output_username = html_util.escape_html(input_username) output_password = input_password output_verify = input_verify output_email = html_util.escape_html(input_email) if not signuputil.is_username_valid(input_username): err_username = "******" query = ( "SELECT * FROM User \ WHERE username = '******'" ) users = db.GqlQuery(query) if users.count() > 0: err_username = "******" if not signuputil.is_password_valid(input_password): err_password = "******" output_password = "" output_verify = "" if input_password != input_verify: err_verify = "Does not match the password you entered" if not signuputil.is_email_valid(input_email): err_email = "Invalid email" if err_username == "" and err_password == "" and err_verify == "" and err_email == "": if output_email == "": output_email = None user = User( username=output_username, password_hash=hashutil.make_pw_hash(output_username, output_password), email=output_email, ) user.put() user_id = user.key().id() self.response.headers.add_header("Set-Cookie", "user_id=%s" % hashutil.make_secure_val(str(user_id))) self.redirect(APP_PATH + CORE_PATH) else: self.render_page( output_username, err_username, output_password, err_password, output_verify, err_verify, output_email, err_email, )