Exemple #1
0
    def create_user(nickname, email, password, gender):
        """Sign up a user"""

        # check weather the email has been registered
        assert UserHelper.get_by_email(email) is None

        assert isinstance(nickname, basestring)
        assert isinstance(email, basestring)
        assert isinstance(password, basestring)
        assert gender in [0, 1]

        # Prepare password
        salt = binascii.hexlify(os.urandom(32))
        salted_password = UserHelper._password_hash(password, salt)

        new_user = User()
        new_user.nickname = nickname
        new_user.email = email
        new_user.salt = salt
        new_user.salted_password = salted_password
        new_user.gender = gender
        new_user.save()

        return new_user