# HG changeset patch # User Goffi # Date 1509910491 -3600 # Node ID b7e24ce97a06e83adee3cc4103f389740f645df9 # Parent 03da3ef5fb5bba496906e354e312f948258f4906 plugin schema: separate lines of text-multi in different values as requested by XEP-0004 diff -r 03da3ef5fb5b -r b7e24ce97a06 src/plugins/plugin_exp_pubsub_schema.py --- a/src/plugins/plugin_exp_pubsub_schema.py Sun Nov 05 15:36:06 2017 +0100 +++ b/src/plugins/plugin_exp_pubsub_schema.py Sun Nov 05 20:34:51 2017 +0100 @@ -32,6 +32,7 @@ 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 @@ 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: