core: bug fix for requestServerDisco in sat_main.py + added getAllServerIdentities method in memory.py

This commit is contained in:
souliane 2013-12-16 14:35:26 +01:00
commit bbadfda25b

View file

@ -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: