Set vCard avatar hash on startup.

This commit is contained in:
Lance Stout 2013-01-16 22:32:40 -08:00
parent 6bac4741f6
commit 518eee05c2
2 changed files with 12 additions and 2 deletions

View file

@ -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

View file

@ -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):