# HG changeset patch # User Goffi # Date 1448478513 -3600 # Node ID 9bf1262297f2ee4dca79325df8c3730013d7ee58 # Parent 61391d8637097fafba3bd2201ed7955778724ae8 plugin XEP-0054: fixed presence issue when avatar is not in cache diff -r 61391d863709 -r 9bf1262297f2 src/plugins/plugin_xep_0054.py --- a/src/plugins/plugin_xep_0054.py Wed Nov 25 20:01:39 2015 +0100 +++ b/src/plugins/plugin_xep_0054.py Wed Nov 25 20:08:33 2015 +0100 @@ -97,8 +97,13 @@ def presenceAvailableTrigger(self, presence_elt, client): if client.jid.userhost() in self.cache[client.profile]: + try: + avatar_hash = self.cache[client.profile][client.jid.userhost()]['avatar'] + except KeyError: + log.info(u"No avatar in cache for {}".format(client.jid.userhost())) + return True x_elt = domish.Element((NS_VCARD_UPDATE, 'x')) - x_elt.addElement('photo', content=self.cache[client.profile][client.jid.userhost()]['avatar']) + x_elt.addElement('photo', content=avatar_hash) presence_elt.addChild(x_elt) return True