diff options
author | Lance Stout <lancestout@gmail.com> | 2013-01-16 22:33:05 -0800 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2013-01-16 22:33:05 -0800 |
commit | 01da222d67858ac82951a0a3b01670ea201abd9c (patch) | |
tree | 384c743f69b711c192b2f435be4f2dbe7cb116a8 /sleekxmpp | |
parent | 1dbfa29a1ebb9becb93911b33f026cc1a7a7faee (diff) | |
parent | 518eee05c224b00cf4622038290f5fb0c0d4e95b (diff) | |
download | slixmpp-01da222d67858ac82951a0a3b01670ea201abd9c.tar.gz slixmpp-01da222d67858ac82951a0a3b01670ea201abd9c.tar.bz2 slixmpp-01da222d67858ac82951a0a3b01670ea201abd9c.tar.xz slixmpp-01da222d67858ac82951a0a3b01670ea201abd9c.zip |
Merge branch 'master' into develop
Diffstat (limited to 'sleekxmpp')
-rw-r--r-- | sleekxmpp/plugins/xep_0054/vcard_temp.py | 2 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0153/vcard_avatar.py | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/sleekxmpp/plugins/xep_0054/vcard_temp.py b/sleekxmpp/plugins/xep_0054/vcard_temp.py index 09acd454..97da8c7c 100644 --- a/sleekxmpp/plugins/xep_0054/vcard_temp.py +++ b/sleekxmpp/plugins/xep_0054/vcard_temp.py @@ -8,7 +8,7 @@ import logging -from sleekxmpp import Iq +from sleekxmpp import JID, Iq from sleekxmpp.exceptions import XMPPError from sleekxmpp.xmlstream import register_stanza_plugin from sleekxmpp.xmlstream.handler import Callback diff --git a/sleekxmpp/plugins/xep_0153/vcard_avatar.py b/sleekxmpp/plugins/xep_0153/vcard_avatar.py index c74713e5..03106247 100644 --- a/sleekxmpp/plugins/xep_0153/vcard_avatar.py +++ b/sleekxmpp/plugins/xep_0153/vcard_avatar.py @@ -78,7 +78,17 @@ class XEP_0153(BasePlugin): self.xmpp.roster[jid].send_last_presence() def _start(self, event): - vcard = self.xmpp['xep_0054'].get_vcard() + try: + vcard = self.xmpp['xep_0054'].get_vcard() + data = vcard['vcard_temp']['PHOTO']['BINVAL'] + if not data: + new_hash = '' + else: + new_hash = hashlib.sha1(data).hexdigest() + self.api['set_hash'](self.xmpp.boundjid, args=new_hash) + except XMPPError: + log.debug('Could not retrieve vCard for %s' % jid) + self._allow_advertising.set() def _end(self, event): |