Beispiel #1
0
 async def room_invitation_payload(
     self,
     room_invitation_id: str,
     payload: Optional[RoomInvitationPayload] = None
 ) -> RoomInvitationPayload:
     """
     get room_invitation_payload
     """
     response = await self.puppet_stub.room_invitation_payload(
         id=room_invitation_id, payload=payload)
     return RoomInvitationPayload(**response.to_dict())
 async def room_invitation_payload(
     self,
     room_invitation_id: str,
     payload: Optional[RoomInvitationPayload] = None
 ) -> RoomInvitationPayload:
     """
     get room_invitation_payload
     """
     if self.puppet_stub is None:
         raise Exception('puppet_stub should not be none')
     response = await self.puppet_stub.room_invitation_payload(
         id=room_invitation_id, payload=payload)
     return RoomInvitationPayload(**response.to_dict())
    async def from_json(
            cls, payload: Union[str, RoomInvitationPayload]) -> RoomInvitation:
        """
        Load the room invitation info from disk
        """
        if isinstance(payload, str):
            log.info('from_json() <%s>', payload)
        else:
            log.info('from_json() <%s>', json.dumps(payload))

        if isinstance(payload, str):
            params = json.loads(payload)
            invitation_payload = RoomInvitationPayload(*params)
        else:
            invitation_payload = payload

        # TODO -> don't understand what this line code can influence
        await cls.get_puppet().room_invitation_payload(
            room_invitation_id=invitation_payload.id)

        return cls.get_wechaty().RoomInvitation. \
            load(invitation_payload.id)