self.legacycon.updateAvatar() # Default avatar
return
avatarSet = False
+ name = ""
for e in vCard.elements():
if e.name == "NICKNAME":
- self.updateNickname(e.__str__())
+ name = e.__str__()
+ if not name and e.name == "FN":
+ # Give priority to nickname
+ name = e.__str__()
if e.name == "PHOTO":
imageData = avatar.parsePhotoEl(e)
if not imageData:
self.avatar = self.pytrans.avatarCache.setAvatar(imageData)
self.legacycon.updateAvatar(self.avatar)
avatarSet = True
+ if name:
+ self.updateNickname(e.__str__())
if not avatarSet:
self.legacycon.updateAvatar() # Default avatar
if avatarHash == " ": # Setting no avatar
self.legacycon.updateAvatar() # Default
elif (not self.avatar) or (self.avatar and self.avatar.getImageHash() != avatarHash):
- imageData = self.pytrans.avatarCache.getAvatar(avatarHash)
- if imageData:
- self.avatar = avatar.Avatar(imageData, self.pytrans.avatarCache) # Stuff in the cache is always PNG
+ av = self.pytrans.avatarCache.getAvatar(avatarHash)
+ if av:
+ self.avatar = av # Stuff in the cache is always PNG
self.legacycon.updateAvatar(self.avatar)
else:
self.doVCardUpdate()
groupchat = legacy.LegacyGroupchat(self, resource, gcID) # Creates an empty groupchat
groupchat.userJoined(tor)
+ elif ptype == "probe":
+ LogEvent(INFO, self.jabberID, "Responding to presence probe")
+ if to == config.jid:
+ self.legacycon.sendShowStatus(source)
+ else:
+ self.contactList.getContact(to).sendPresence(source)
else:
# Not for groupchat
self.handleResourcePresence(source, resource, to, tor, priority, ptype, show, status)