From e60b64d876692abf55534f04689db0e4bf635eb3 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 17 Sep 2020 10:46:13 +0200 Subject: [PATCH] plugin XEP-0313: fixed `MAMGet` signature --- sat/plugins/plugin_xep_0313.py | 4 ++-- sat_frontends/jp/cmd_message.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sat/plugins/plugin_xep_0313.py b/sat/plugins/plugin_xep_0313.py index 47663703..d808272a 100644 --- a/sat/plugins/plugin_xep_0313.py +++ b/sat/plugins/plugin_xep_0313.py @@ -69,7 +69,7 @@ class XEP_0313(object): self._last_stanza_id_d.callback(None) host.bridge.addMethod( "MAMGet", ".plugin", in_sign='sss', - out_sign='(a(sdssa{ss}a{ss}sa{ss})a{ss}s)', method=self._getArchives, + out_sign='(a(sdssa{ss}a{ss}ss)ss)', method=self._getArchives, async_=True) @defer.inlineCallbacks @@ -331,7 +331,7 @@ class XEP_0313(object): 'rsm': self._rsm.response2dict(rsm_response), 'mam': mam_response } - return mess_list, metadata, client.profile + return mess_list, data_format.serialise(metadata), client.profile def _getArchives(self, service, extra_ser, profile_key): """ diff --git a/sat_frontends/jp/cmd_message.py b/sat_frontends/jp/cmd_message.py index bbba0881..828e9876 100644 --- a/sat_frontends/jp/cmd_message.py +++ b/sat_frontends/jp/cmd_message.py @@ -236,12 +236,14 @@ class MAM(base.CommandBase): if value is not None: extra[key] = str(value) try: - data, metadata, profile = await self.host.bridge.MAMGet( + data, metadata_s, profile = await self.host.bridge.MAMGet( self.args.service, data_format.serialise(extra), self.profile) except Exception as e: self.disp(f"can't retrieve MAM archives: {e}", error=True) self.host.quit(C.EXIT_BRIDGE_ERRBACK) + metadata = data_format.deserialise(metadata_s) + try: session_info = await self.host.bridge.sessionInfosGet(self.profile) except Exception as e: