Load the room invitation info from disk Args: payload: room invitation payload Examples: >>> invitation = await RoomInvitation.from_json(payload) Returns: RoomInvitation: room invitation object
(cls,
payload: Union[str, RoomInvitationPayload]
)
| 227 | |
| 228 | @classmethod |
| 229 | async def from_json(cls, |
| 230 | payload: Union[str, RoomInvitationPayload] |
| 231 | ) -> RoomInvitation: |
| 232 | """ |
| 233 | Load the room invitation info from disk |
| 234 | Args: |
| 235 | payload: room invitation payload |
| 236 | Examples: |
| 237 | >>> invitation = await RoomInvitation.from_json(payload) |
| 238 | Returns: |
| 239 | RoomInvitation: room invitation object |
| 240 | """ |
| 241 | if isinstance(payload, str): |
| 242 | log.info('from_json() <%s>', payload) |
| 243 | else: |
| 244 | log.info('from_json() <%s>', json.dumps(payload)) |
| 245 | |
| 246 | if isinstance(payload, str): |
| 247 | params = json.loads(payload) |
| 248 | invitation_payload = RoomInvitationPayload(*params) |
| 249 | else: |
| 250 | invitation_payload = payload |
| 251 | |
| 252 | # TODO -> don't understand what this line code can influence |
| 253 | await cls.get_puppet().room_invitation_payload( |
| 254 | room_invitation_id=invitation_payload.id) |
| 255 | |
| 256 | return cls.get_wechaty().RoomInvitation. \ |
| 257 | load(invitation_payload.id) |
| 258 | |
| 259 | async def to_json(self) -> str: |
| 260 | """ |
nothing calls this directly
no test coverage detected