plugin XEP-0060: added createIfNewNode method which doesn't fail in case of conflict.
This commit is contained in:
parent
a8f192a2e4
commit
363ee1db88
1 changed files with 11 additions and 0 deletions
|
|
@ -447,6 +447,17 @@ class XEP_0060(object):
|
|||
"""
|
||||
return client.pubsub_client.createNode(service, nodeIdentifier, options)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def createIfNewNode(self, client, service, nodeIdentifier, options=None):
|
||||
"""Helper method similar to createNode, but will not fail in case of conflict"""
|
||||
try:
|
||||
yield self.createNode(client, service, nodeIdentifier, options)
|
||||
except error.StanzaError as e:
|
||||
if e.condition == 'conflict':
|
||||
pass
|
||||
else:
|
||||
raise e
|
||||
|
||||
def _getNodeConfiguration(self, service_s, nodeIdentifier, profile_key):
|
||||
client = self.host.getClient(profile_key)
|
||||
d = self.getConfiguration(client, jid.JID(service_s) if service_s else None, nodeIdentifier)
|
||||
|
|
|
|||
Loading…
Reference in a new issue