comparison src/plugins/plugin_xep_0054.py @ 1683:9bf1262297f2

plugin XEP-0054: fixed presence issue when avatar is not in cache
author Goffi <goffi@goffi.org>
date Wed, 25 Nov 2015 20:08:33 +0100
parents 61391d863709
children 7226280e70da
comparison
equal deleted inserted replaced
1682:61391d863709 1683:9bf1262297f2
95 def getHandler(self, profile): 95 def getHandler(self, profile):
96 return XEP_0054_handler(self) 96 return XEP_0054_handler(self)
97 97
98 def presenceAvailableTrigger(self, presence_elt, client): 98 def presenceAvailableTrigger(self, presence_elt, client):
99 if client.jid.userhost() in self.cache[client.profile]: 99 if client.jid.userhost() in self.cache[client.profile]:
100 try:
101 avatar_hash = self.cache[client.profile][client.jid.userhost()]['avatar']
102 except KeyError:
103 log.info(u"No avatar in cache for {}".format(client.jid.userhost()))
104 return True
100 x_elt = domish.Element((NS_VCARD_UPDATE, 'x')) 105 x_elt = domish.Element((NS_VCARD_UPDATE, 'x'))
101 x_elt.addElement('photo', content=self.cache[client.profile][client.jid.userhost()]['avatar']) 106 x_elt.addElement('photo', content=avatar_hash)
102 presence_elt.addChild(x_elt) 107 presence_elt.addChild(x_elt)
103 108
104 return True 109 return True
105 110
106 def _fillCachedValues(self, profile): 111 def _fillCachedValues(self, profile):