From f3d19392ea66ca46e59bf5b25312dc821d184af5 Mon Sep 17 00:00:00 2001 From: Goffi Date: Sun, 5 Nov 2017 20:34:51 +0100 Subject: [PATCH] plugin schema: separate lines of text-multi in different values as requested by XEP-0004 --- src/plugins/plugin_exp_pubsub_schema.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/plugin_exp_pubsub_schema.py b/src/plugins/plugin_exp_pubsub_schema.py index 3f69ac56..132e9a58 100755 --- a/src/plugins/plugin_exp_pubsub_schema.py +++ b/src/plugins/plugin_exp_pubsub_schema.py @@ -32,6 +32,7 @@ from wokkel import generic from zope.interface import implements from collections import Iterable import copy +import itertools NS_SCHEMA = 'https://salut-a-toi/protocol/schema:0' @@ -285,6 +286,10 @@ class PubsubSchema(object): if deserialise: if field.fieldType == 'boolean': values_list = [C.bool(v) for v in values_list] + elif field.fieldType == 'text-multi': + # for text-multi, lines must be put on separate values + values_list = list(itertools.chain(*[v.splitlines() for v in values_list])) + elif 'jid' in field.fieldType: values_list = [jid.JID(v) for v in values_list] if 'list' in field.fieldType: