core: bug fix for requestServerDisco in sat_main.py + added getAllServerIdentities method in memory.py
This commit is contained in:
parent
e8ae4435a3
commit
bbadfda25b
1 changed files with 43 additions and 12 deletions
|
|
@ -689,11 +689,13 @@ class SAT(service.Service):
|
|||
hasServerFeature = lambda entity: entity if self.memory.hasServerFeature(feature, entity, profile) else None
|
||||
|
||||
def haveItemsFeature(dummy=None):
|
||||
if jid_ in self.memory.server_identities[profile]:
|
||||
for entity in self.memory.server_identities[profile][jid_].values():
|
||||
if hasServerFeature(entity):
|
||||
return entity
|
||||
return None
|
||||
entities = self.memory.getAllServerIdentities(jid_, profile)
|
||||
if entities is None:
|
||||
return None # no cached data for this server
|
||||
for entity in entities:
|
||||
if hasServerFeature(entity):
|
||||
return entity
|
||||
return None # data are cached but no entity was found
|
||||
|
||||
entity = hasServerFeature(jid_) or haveItemsFeature()
|
||||
if entity:
|
||||
|
|
|
|||
Loading…
Reference in a new issue