plugin forums: use serialised data for extra in forumTopicsGet

This commit is contained in:
Goffi 2021-06-06 19:35:19 +02:00
commit 2155acd45b

View file

@ -21,7 +21,7 @@ from sat.core.i18n import _
from sat.core.constants import Const as C
from sat.core import exceptions
from sat.core.log import getLogger
from sat.tools.common import uri
from sat.tools.common import uri, data_format
from twisted.words.protocols.jabber import jid
from twisted.words.xish import domish
from twisted.internet import defer
@ -73,7 +73,7 @@ class forums(object):
method=self._set,
async_=True)
host.bridge.addMethod("forumTopicsGet", ".plugin",
in_sign='ssa{ss}s', out_sign='(aa{ss}a{ss})',
in_sign='ssa{ss}s', out_sign='(aa{ss}s)',
method=self._getTopics,
async_=True)
host.bridge.addMethod("forumTopicCreate", ".plugin",
@ -249,7 +249,9 @@ class forums(object):
client = self.host.getClient(profile_key)
extra = self._p.parseExtra(extra)
d = self.getTopics(client, jid.JID(service), node, rsm_request=extra.rsm_request, extra=extra.extra)
d.addCallback(lambda topics_metadata: (topics_metadata[0], {k: str(v) for k,v in topics_metadata[1].items()}))
d.addCallback(
lambda topics_data: (topics_data[0], data_format.serialise(topics_data[1]))
)
return d
@defer.inlineCallbacks