def register(self):
        """Register the persistent identifier with the provider.

        :raises invenio_pidstore.errors.PIDInvalidAction: If the PID is not
            already registered or is deleted or is a redirection to another
            PID.
        :returns: `True` if the PID is successfully register.
        """
        if self.is_registered() or self.is_deleted() or self.is_redirected():
            raise PIDInvalidAction(
                "Persistent identifier has already been registered"
                " or is deleted.")

        try:
            with db.session.begin_nested():
                self.status = PIDStatus.REGISTERED
                db.session.add(self)
        except SQLAlchemyError:
            logger.exception("Failed to register PID.", extra=dict(pid=self))
            raise
        logger.info("Registered PID.", extra=dict(pid=self))
        return True
def register ( self ) : if self . is_registered ( ) or self . is_deleted ( ) or self . is_redirected ( ) : raise PIDInvalidAction ( "Persistent identifier has already been registered" " or is deleted." ) try : with db . session . begin_nested ( ) : self . status = PIDStatus . REGISTERED db . session . add ( self ) except SQLAlchemyError : logger . exception ( "Failed to register PID." , extra = dict ( pid = self ) ) raise logger . info ( "Registered PID." , extra = dict ( pid = self ) ) return True
Register the persistent identifier with the provider.

        :raises invenio_pidstore.errors.PIDInvalidAction: If the PID is not
            already registered or is deleted or is a redirection to another
            PID.
        :returns: `True` if the PID is successfully register.