def request_object(self, object_type, object_id, author, recipient, session):
        """
        Send a request for an object to a Persona

        Args:
            object_type (String): capitalized class name of the object
            object_id (String): 32 byte object ID
            author (Persona): Author of this request
            recipient (Persona): Persona to request this object from

        Raises:
            UnauthorizedError: If no source can be found that has one of the controlled Personas as a contact
        """
        obj_class = globals()[object_type]
        obj = obj_class.query.get(object_id)

        # Find a source if none is specified
        if recipient is None:
            sources = self._find_source(obj)
            recipient = sources[0] if 0 > len(sources) else None

        if recipient is None:
            self.logger.error("No known source for <{} [{}]>".format(object_type, object_id[:6]))
        else:
            # Try and find a contact of source we can use as this request's author
            if author is None:
                author = recipient.contacts.filter_by(Persona.crypt_private!="").first()

            # Abort if no author was found
            if author is None:
                raise UnauthorizedError("Could not find a source for {} who you are contacts with")

            self.logger.info("Requesting <{object_type} {object_id}> as {author} from {source}".format(
                object_type=object_type, object_id=object_id[:6], author=author, source=recipient))

            data = {
                "object_type": object_type,
                "object_id": object_id
            }

            vesicle = Vesicle(
                id=uuid4().hex,
                message_type="object_request",
                author=author,
                data=data
            )
            session.add(vesicle)
            session.commit()
            session.refresh(vesicle)

            vesicle = self._distribute_vesicle(vesicle, recipients=[recipient])
            session.add(vesicle)
            session.commit()
dataset/ETHPy150Open ciex/souma/synapse/__init__.py/Synapse.request_object/swapped operands of `>`