Exemplo n.º 1
0
    def send_avatar(self, friend_number):
        """
        Отправка аватара

        Агрументы:
            friend_number (int) -- Номер друга
        """
        if len(self.options.avatar) == 0 or not os.path.isfile(self.options.avatar):
            return

        friend_name = self.tox_friend_get_name(friend_number)
        self.verbose("Send avatar to {0}/{1}".format(friend_name, friend_number))

        f = EchoBotFile()

        f.kind = ToxCore.TOX_FILE_KIND_AVATAR
        f.size = os.path.getsize(self.options.avatar)
        f.read = True
        f.path = self.options.avatar
        f.fd   = open(f.path, "rb")

        data = f.fd.read()
        f.fd.seek(0, 0)

        f.id   = ToxCore.tox_hash(data)
        f.name = f.id

        file_number = self.tox_file_send(friend_number, ToxCore.TOX_FILE_KIND_AVATAR, f.size, f.id, f.name)

        if friend_number not in self.files:
            self.files[friend_number] = {}

        self.files[friend_number][file_number] = f