Mercurial > libervia-backend
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): |