def password(self, password): """Set the password.""" if password is None: # Unusable password. self._password = None self.password_scheme = '' else: self._password = password_context.encrypt(password) self.password_scheme = password_context.default_scheme() # Invenio legacy salt is stored in password_salt, and every new # password set will be migrated to new hash not relying on # password_salt, thus is force to empty value. self.password_salt = ""