def iqAvatarReceived(el): if not self.alive: return LogEvent(INFO, self.jabberID) qtype = el.getAttribute("type") if qtype == "error": LogEvent(INFO, self.jabberID, "That didn't work, let's try an IQ-storage-based avatar") d = self.sendStorageAvatarRequest(to=self.jabberID, fro=config.jid) d.addCallback(storageAvatarReceived) d.addErrback(errback) query = None for e in el.elements(): if e.name == "query" and e.uri == globals.IQAVATAR: query = e break if not query: return for e in query.elements(): if e.name == "data" and self.avatarPri < 3: imageData = avatar.parseIQPhotoEl(e) if not imageData: errback(Exception("Invalid image data")) # Possibly it wasn't in a supported format? self.avatar = self.pytrans.avatarCache.setAvatar(imageData) self.legacycon.updateAvatar(self.avatar) self.avatarPri = 3
def iqAvatarReceived(el): if not self.alive: return LogEvent(INFO, self.jabberID) qtype = el.getAttribute("type") if qtype == "error": LogEvent( INFO, self.jabberID, "That didn't work, let's try an IQ-storage-based avatar") d = self.sendStorageAvatarRequest(to=self.jabberID, fro=config.jid) d.addCallback(storageAvatarReceived) d.addErrback(errback) query = None for e in el.elements(): if e.name == "query" and e.uri == globals.IQAVATAR: query = e break if not query: return for e in query.elements(): if e.name == "data" and self.avatarPri < 3: imageData = avatar.parseIQPhotoEl(e) if not imageData: errback(Exception("Invalid image data") ) # Possibly it wasn't in a supported format? self.avatar = self.pytrans.avatarCache.setAvatar(imageData) self.legacycon.updateAvatar(self.avatar) self.avatarPri = 3
def storageAvatarReceived(el): if not self.alive: return LogEvent(INFO, self.jabberID) qtype = el.getAttribute("type") if qtype == "error": return query = None for e in el.elements(): if e.name == "query" and e.uri == globals.STORAGEAVATAR: query = e break if not query: return for e in query.elements(): if e.name == "data" and self.avatarPri < 3: imageData = avatar.parseIQPhotoEl(e) if not imageData: errback(Exception("Invalid image data")) # Possibly it wasn't in a supported format? self.avatar = self.pytrans.avatarCache.setAvatar(imageData) self.legacycon.updateAvatar(self.avatar) self.avatarPri = 3
def storageAvatarReceived(el): if not self.alive: return LogEvent(INFO, self.jabberID) qtype = el.getAttribute("type") if qtype == "error": return query = None for e in el.elements(): if e.name == "query" and e.uri == globals.STORAGEAVATAR: query = e break if not query: return for e in query.elements(): if e.name == "data" and self.avatarPri < 3: imageData = avatar.parseIQPhotoEl(e) if not imageData: errback(Exception("Invalid image data") ) # Possibly it wasn't in a supported format? self.avatar = self.pytrans.avatarCache.setAvatar(imageData) self.legacycon.updateAvatar(self.avatar) self.avatarPri = 3