Resolve most Python3.3 related issues.
Tests now run successfully. Occasionally get single error related to duplicated payload data in pubsub items when copying stanza values.
This commit is contained in:
@@ -423,7 +423,7 @@ class XEP_0060(BasePlugin):
|
||||
callback=None, timeout=None):
|
||||
iq = self.xmpp.Iq(sto=jid, sfrom=ifrom, stype='set')
|
||||
iq['pubsub_owner']['configure']['node'] = node
|
||||
iq['pubsub_owner']['configure']['form'].values = config.values
|
||||
iq['pubsub_owner']['configure'].append(config)
|
||||
return iq.send(block=block, callback=callback, timeout=timeout)
|
||||
|
||||
def publish(self, jid, node, id=None, payload=None, options=None,
|
||||
|
@@ -74,7 +74,12 @@ class Item(ElementBase):
|
||||
|
||||
def set_payload(self, value):
|
||||
del self['payload']
|
||||
self.append(value)
|
||||
if isinstance(value, ElementBase):
|
||||
if value.tag_name() in self.plugin_tag_map:
|
||||
self.init_plugin(value.plugin_attrib, existing_xml=value.xml)
|
||||
self.xml.append(value.xml)
|
||||
else:
|
||||
self.xml.append(value)
|
||||
|
||||
def get_payload(self):
|
||||
childs = list(self.xml)
|
||||
@@ -243,39 +248,6 @@ class PublishOptions(ElementBase):
|
||||
self.parent().xml.remove(self.xml)
|
||||
|
||||
|
||||
class PubsubState(ElementBase):
|
||||
"""This is an experimental pubsub extension."""
|
||||
namespace = 'http://jabber.org/protocol/psstate'
|
||||
name = 'state'
|
||||
plugin_attrib = 'psstate'
|
||||
interfaces = set(('node', 'item', 'payload'))
|
||||
|
||||
def set_payload(self, value):
|
||||
self.xml.append(value)
|
||||
|
||||
def get_payload(self):
|
||||
childs = list(self.xml)
|
||||
if len(childs) > 0:
|
||||
return childs[0]
|
||||
|
||||
def del_payload(self):
|
||||
for child in self.xml:
|
||||
self.xml.remove(child)
|
||||
|
||||
|
||||
class PubsubStateEvent(ElementBase):
|
||||
"""This is an experimental pubsub extension."""
|
||||
namespace = 'http://jabber.org/protocol/psstate#event'
|
||||
name = 'event'
|
||||
plugin_attrib = 'psstate_event'
|
||||
intefaces = set(tuple())
|
||||
|
||||
|
||||
register_stanza_plugin(Iq, PubsubState)
|
||||
register_stanza_plugin(Message, PubsubStateEvent)
|
||||
register_stanza_plugin(PubsubStateEvent, PubsubState)
|
||||
|
||||
|
||||
register_stanza_plugin(Iq, Pubsub)
|
||||
register_stanza_plugin(Pubsub, Affiliations)
|
||||
register_stanza_plugin(Pubsub, Configure)
|
||||
|
@@ -34,7 +34,8 @@ class DefaultConfig(ElementBase):
|
||||
return self['form']
|
||||
|
||||
def set_config(self, value):
|
||||
self['form'].values = value.values
|
||||
del self['from']
|
||||
self.append(value)
|
||||
return self
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user