memory (disco): added findServiceEntity helper method to get first service of a kind
This commit is contained in:
parent
774d9a37a4
commit
30768ce305
2 changed files with 13 additions and 0 deletions
|
|
@ -604,6 +604,9 @@ class SAT(service.Service):
|
|||
def getDiscoItems(self, *args, **kwargs):
|
||||
return self.memory.disco.getItems(*args, **kwargs)
|
||||
|
||||
def findServiceEntity(self, *args, **kwargs):
|
||||
return self.memory.disco.findServiceEntity(*args, **kwargs)
|
||||
|
||||
def findServiceEntities(self, *args, **kwargs):
|
||||
return self.memory.disco.findServiceEntities(*args, **kwargs)
|
||||
|
||||
|
|
|
|||
|
|
@ -230,6 +230,16 @@ class Discovery(object):
|
|||
log.warning(_(u"Error while requesting [%(jid)s]: %(error)s") % {'jid': entity_jid.full(),
|
||||
'error': failure_.getErrorMessage()})
|
||||
|
||||
def findServiceEntity(self, client, category, type_, jid_=None):
|
||||
"""Helper method to find first available entity from findServiceEntities
|
||||
|
||||
args are the same as for [findServiceEntities]
|
||||
@return (jid.JID, None): found entity
|
||||
"""
|
||||
d = self.host.findServiceEntities(client, "pubsub", "service")
|
||||
d.addCallback(lambda entities: entities.pop() if entities else None)
|
||||
return d
|
||||
|
||||
def findServiceEntities(self, client, category, type_, jid_=None):
|
||||
"""Return all available items of an entity which correspond to (category, type_)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue