Fix XEP-0128
Broken since 125336aeee
due to unforeseen consequences of a variable
removal.
This commit is contained in:
parent
d4bff8dee6
commit
e691850a2b
@ -38,9 +38,8 @@ class StaticExtendedDisco(object):
|
|||||||
The data parameter may provide:
|
The data parameter may provide:
|
||||||
data -- Either a single data form, or a list of data forms.
|
data -- Either a single data form, or a list of data forms.
|
||||||
"""
|
"""
|
||||||
with self.static.lock:
|
self.del_extended_info(jid, node, ifrom, data)
|
||||||
self.del_extended_info(jid, node, ifrom, data)
|
self.add_extended_info(jid, node, ifrom, data)
|
||||||
self.add_extended_info(jid, node, ifrom, data)
|
|
||||||
|
|
||||||
def add_extended_info(self, jid, node, ifrom, data):
|
def add_extended_info(self, jid, node, ifrom, data):
|
||||||
"""
|
"""
|
||||||
@ -49,16 +48,15 @@ class StaticExtendedDisco(object):
|
|||||||
The data parameter may provide:
|
The data parameter may provide:
|
||||||
data -- Either a single data form, or a list of data forms.
|
data -- Either a single data form, or a list of data forms.
|
||||||
"""
|
"""
|
||||||
with self.static.lock:
|
self.static.add_node(jid, node)
|
||||||
self.static.add_node(jid, node)
|
|
||||||
|
|
||||||
forms = data.get('data', [])
|
forms = data.get('data', [])
|
||||||
if not isinstance(forms, list):
|
if not isinstance(forms, list):
|
||||||
forms = [forms]
|
forms = [forms]
|
||||||
|
|
||||||
info = self.static.get_node(jid, node)['info']
|
info = self.static.get_node(jid, node)['info']
|
||||||
for form in forms:
|
for form in forms:
|
||||||
info.append(form)
|
info.append(form)
|
||||||
|
|
||||||
def del_extended_info(self, jid, node, ifrom, data):
|
def del_extended_info(self, jid, node, ifrom, data):
|
||||||
"""
|
"""
|
||||||
@ -66,8 +64,7 @@ class StaticExtendedDisco(object):
|
|||||||
|
|
||||||
The data parameter is not used.
|
The data parameter is not used.
|
||||||
"""
|
"""
|
||||||
with self.static.lock:
|
if self.static.node_exists(jid, node):
|
||||||
if self.static.node_exists(jid, node):
|
info = self.static.get_node(jid, node)['info']
|
||||||
info = self.static.get_node(jid, node)['info']
|
for form in info['substanza']:
|
||||||
for form in info['substanza']:
|
info.xml.remove(form.xml)
|
||||||
info.xml.remove(form.xml)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user