core (memory/disco): normalise booleans in extensions
This commit is contained in:
parent
a245e32391
commit
13cfba0f8a
1 changed files with 8 additions and 10 deletions
|
|
@ -392,6 +392,7 @@ class Discovery(object):
|
|||
entity = jid.JID(entity_jid_s)
|
||||
disco_infos = yield self.getInfos(client, entity, node, use_cache)
|
||||
extensions = {}
|
||||
# FIXME: should extensions be serialised using tools.common.data_format?
|
||||
for form_type, form in disco_infos.extensions.items():
|
||||
fields = []
|
||||
for field in form.fieldList:
|
||||
|
|
@ -402,20 +403,17 @@ class Discovery(object):
|
|||
data[attr] = value
|
||||
|
||||
values = [field.value] if field.value is not None else field.values
|
||||
if field.fieldType == u"boolean":
|
||||
values = [C.boolConst(C.bool(v)) for v in values]
|
||||
fields.append((data, values))
|
||||
|
||||
extensions[form_type or ""] = fields
|
||||
|
||||
defer.returnValue(
|
||||
(
|
||||
disco_infos.features,
|
||||
[
|
||||
(cat, type_, name or "")
|
||||
for (cat, type_), name in disco_infos.identities.items()
|
||||
],
|
||||
extensions,
|
||||
)
|
||||
)
|
||||
defer.returnValue((
|
||||
disco_infos.features,
|
||||
[(cat, type_, name or "")
|
||||
for (cat, type_), name in disco_infos.identities.items()],
|
||||
extensions))
|
||||
|
||||
def items2tuples(self, disco_items):
|
||||
"""convert disco items to tuple of strings
|
||||
|
|
|
|||
Loading…
Reference in a new issue