+ pass
+
+ def _select_avatar(self, handleId):
+ handle = self.get_handle_by_id(telepathy.HANDLE_TYPE_CONTACT, handleId)
+
+ if handle == self.GetSelfHandle():
+ imageName = self.__SELF_AVATAR
+ else:
+ accountNumber = misc_utils.normalize_number(self.session.backend.get_account_number())
+ phoneType = self.session.addressbook.get_phone_type(handle.phoneNumber)
+ if handle.phoneNumber == accountNumber:
+ imageName = self.__SELF_AVATAR
+ elif phoneType in ("mobile", ):
+ imageName = self.__MOBILE_AVATAR
+ elif phoneType in ("home", "work"):
+ imageName = self.__LANDLINE_AVATAR
+ else:
+ imageName = self.__OTHER_AVATAR
+
+ return imageName
+
+ def _get_avatar(self, imageName):
+ try:
+ return self._avatarCache[imageName]
+ except KeyError:
+ image = self._load_avatar(imageName)
+ self._avatarCache[imageName] = image
+ return image
+
+ def _load_avatar(self, imageName):
+ _moduleLogger.debug("Loading avatar %r from file" % (imageName, ))
+ try:
+ with open(os.sep.join([self.__LOOKUP_PATHS[0], imageName+".png"]), "rb") as f:
+ return f.read()
+ except IOError:
+ with open(os.sep.join([self.__LOOKUP_PATHS[1], "32-"+imageName+".png"]), "rb") as f:
+ return f.read()