From 4e803712f74690250d92bb9c0793753d84f6d352 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 12 Nov 2020 14:53:15 +0100 Subject: [PATCH] plugin XEP-0060: use `xml_tools.parse` instead of `wokkel.generic.parseXml`: `xml_tools.parse` does a better parsing, as wokkel's `parseXml` may be missing text nodes. --- sat/plugins/plugin_xep_0060.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sat/plugins/plugin_xep_0060.py b/sat/plugins/plugin_xep_0060.py index 6a7613ea..e6f0162b 100644 --- a/sat/plugins/plugin_xep_0060.py +++ b/sat/plugins/plugin_xep_0060.py @@ -26,7 +26,6 @@ from twisted.words.protocols.jabber import jid, error from twisted.internet import reactor, defer from wokkel import disco from wokkel import data_form -from wokkel import generic # XXX: sat_tmp.wokkel.pubsub is actually use instead of wokkel version # mam and rsm come from sat_tmp.wokkel too from wokkel import pubsub @@ -37,6 +36,7 @@ from sat.core.constants import Const as C from sat.core.log import getLogger from sat.core import exceptions from sat.tools import sat_defer +from sat.tools import xml_tools from sat.tools.common import data_format @@ -453,7 +453,7 @@ class XEP_0060(object): profile_key=C.PROF_KEY_NONE): client = self.host.getClient(profile_key) service = None if not service else jid.JID(service) - payload = generic.parseXml(payload.encode()) + payload = xml_tools.parse(payload) extra = data_format.deserialise(extra_ser) d = self.sendItem( client, service, nodeIdentifier, payload, item_id or None, extra @@ -466,7 +466,7 @@ class XEP_0060(object): client = self.host.getClient(profile_key) service = None if not service else jid.JID(service) try: - items = [generic.parseXml(item.encode()) for item in items] + items = [xml_tools.parse(item) for item in items] except Exception as e: raise exceptions.DataError(_("Can't parse items: {msg}").format( msg=e))