comparison src/memory/disco.py @ 2096:efe31f0881fb

core (memory/disco): recover getItems on bridge's discoItems method if an item is empty
author Goffi <goffi@goffi.org>
date Sun, 18 Dec 2016 16:28:44 +0100
parents 2daf7b4c6756
children a543eda2c923
comparison
equal deleted inserted replaced
2095:522c4c8903f9 2096:efe31f0881fb
348 348
349 @return: list of tuples""" 349 @return: list of tuples"""
350 profile = self.host.memory.getProfileName(profile_key) 350 profile = self.host.memory.getProfileName(profile_key)
351 entity = jid.JID(entity_jid_s) 351 entity = jid.JID(entity_jid_s)
352 disco_items = yield self.getItems(entity, profile=profile) 352 disco_items = yield self.getItems(entity, profile=profile)
353 defer.returnValue([(item.entity.full(), item.nodeIdentifier or '', item.name or '') for item in disco_items]) 353 try:
354 ret = [(item.entity.full(), item.nodeIdentifier or '', item.name or '') for item in disco_items]
355 except AttributeError:
356 log.error(u"error while getting items from {entity}, it may result from invalid item(s)".format(entity=entity.full()))
357 # second try by ignoring empty items
358 ret = [(item.entity.full(), item.nodeIdentifier or '', item.name or '') for item in disco_items if item.entity]
359
360 defer.returnValue(ret)