inlines fix

This commit is contained in:
ingvar1995 2016-06-22 11:48:00 +03:00
parent 42aa102d1d
commit fb74ea4455
5 changed files with 11 additions and 10 deletions

View File

@ -121,7 +121,7 @@ class SendTransfer(FileTransfer):
super(SendTransfer, self).__init__(path, tox, friend_number, size) super(SendTransfer, self).__init__(path, tox, friend_number, size)
self.state = TOX_FILE_TRANSFER_STATE['OUTGOING_NOT_STARTED'] self.state = TOX_FILE_TRANSFER_STATE['OUTGOING_NOT_STARTED']
self._file_number = tox.file_send(friend_number, kind, size, file_id, self._file_number = tox.file_send(friend_number, kind, size, file_id,
basename(path) if path else '') bytes(basename(path), 'utf-8') if path else '')
def send_chunk(self, position, size): def send_chunk(self, position, size):
""" """
@ -167,7 +167,8 @@ class SendFromBuffer(FileTransfer):
super(SendFromBuffer, self).__init__(None, tox, friend_number, len(data)) super(SendFromBuffer, self).__init__(None, tox, friend_number, len(data))
self.state = TOX_FILE_TRANSFER_STATE['OUTGOING_NOT_STARTED'] self.state = TOX_FILE_TRANSFER_STATE['OUTGOING_NOT_STARTED']
self._data = data self._data = data
self._file_number = tox.file_send(friend_number, TOX_FILE_KIND['DATA'], len(data), None, file_name) self._file_number = tox.file_send(friend_number, TOX_FILE_KIND['DATA'],
len(data), None, bytes(file_name, 'utf-8'))
def get_data(self): def get_data(self):
return self._data return self._data
@ -246,7 +247,7 @@ class ReceiveToBuffer(FileTransfer):
def __init__(self, tox, friend_number, size, file_number): def __init__(self, tox, friend_number, size, file_number):
super(ReceiveToBuffer, self).__init__(None, tox, friend_number, size, file_number) super(ReceiveToBuffer, self).__init__(None, tox, friend_number, size, file_number)
self._data = '' self._data = bytes()
self._data_size = 0 self._data_size = 0
def get_data(self): def get_data(self):
@ -257,12 +258,11 @@ class ReceiveToBuffer(FileTransfer):
self._creation_time = time() self._creation_time = time()
if data is None: if data is None:
self.state = TOX_FILE_TRANSFER_STATE['FINISHED'] self.state = TOX_FILE_TRANSFER_STATE['FINISHED']
self.signal()
else: else:
data = ''.join(chr(x) for x in data) data = bytes(data)
l = len(data) l = len(data)
if self._data_size < position: if self._data_size < position:
self._data += ('\0' * (position - self._data_size)) self._data += (b'\0' * (position - self._data_size))
self._data = self._data[:position] + data + self._data[position + l:] self._data = self._data[:position] + data + self._data[position + l:]
if position + l > self._data_size: if position + l > self._data_size:
self._data_size = position + l self._data_size = position + l

View File

@ -430,7 +430,7 @@ class InlineImageItem(QtGui.QScrollArea):
self.setWidget(self._image_label) self.setWidget(self._image_label)
self._image_label.setScaledContents(False) self._image_label.setScaledContents(False)
self._pixmap = QtGui.QPixmap() self._pixmap = QtGui.QPixmap()
self._pixmap.loadFromData(QtCore.QByteArray(str(data)), "PNG") self._pixmap.loadFromData(data, 'PNG')
self._max_size = width - 30 self._max_size = width - 30
self._resize_needed = not (self._pixmap.width() <= self._max_size) self._resize_needed = not (self._pixmap.width() <= self._max_size)
self._full_size = not self._resize_needed self._full_size = not self._resize_needed

View File

@ -109,7 +109,7 @@ class ScreenShotWindow(QtGui.QWidget):
buffer = QtCore.QBuffer(byte_array) buffer = QtCore.QBuffer(byte_array)
buffer.open(QtCore.QIODevice.WriteOnly) buffer.open(QtCore.QIODevice.WriteOnly)
p.save(buffer, 'PNG') p.save(buffer, 'PNG')
Profile.get_instance().send_screenshot(str(byte_array.data())) Profile.get_instance().send_screenshot(bytes(byte_array.data()))
self.close() self.close()
def keyPressEvent(self, event): def keyPressEvent(self, event):

View File

@ -912,6 +912,7 @@ class Profile(contact.Contact, Singleton):
self.send_inline(data, 'sticker.png') self.send_inline(data, 'sticker.png')
def send_inline(self, data, file_name, friend_number=None, is_resend=False): def send_inline(self, data, file_name, friend_number=None, is_resend=False):
print('Send inline:' + str(type(data)))
friend_number = friend_number or self.get_active_number() friend_number = friend_number or self.get_active_number()
friend = self.get_friend_by_number(friend_number) friend = self.get_friend_by_number(friend_number)
if friend.status is None and not is_resend: if friend.status is None and not is_resend:

View File

@ -1202,7 +1202,7 @@ class Tox(object):
result = self.libtoxcore.tox_file_send(self._tox_pointer, c_uint32(friend_number), c_uint32(kind), result = self.libtoxcore.tox_file_send(self._tox_pointer, c_uint32(friend_number), c_uint32(kind),
c_uint64(file_size), c_uint64(file_size),
string_to_bin(file_id), string_to_bin(file_id),
c_char_p(bytes(filename, 'utf-8')), c_char_p(filename),
c_size_t(len(filename)), byref(tox_err_file_send)) c_size_t(len(filename)), byref(tox_err_file_send))
tox_err_file_send = tox_err_file_send.value tox_err_file_send = tox_err_file_send.value
if tox_err_file_send == TOX_ERR_FILE_SEND['OK']: if tox_err_file_send == TOX_ERR_FILE_SEND['OK']: