file transfers fixes - part 5

This commit is contained in:
ingvar1995 2018-05-17 21:45:35 +03:00
parent bfa91df927
commit 9365ca2913
3 changed files with 13 additions and 10 deletions

View file

@ -49,8 +49,8 @@ class Friend(contact.Contact):
self._corr = list(filter(is_valid, self._corr)) self._corr = list(filter(is_valid, self._corr))
def delete_one_unsent_file(self, time): def delete_one_unsent_file(self, message_id):
self._corr = list(filter(lambda x: not (type(x) is UnsentFile and x.get_data()[2] == time), self._corr)) self._corr = list(filter(lambda m: not (type(m) is UnsentFile and m.message_id == message_id), self._corr))
# ----------------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------------
# History support # History support

View file

@ -81,8 +81,8 @@ class FileTransfersHandler:
elif not already_cancelled: elif not already_cancelled:
self._tox.file_control(friend_number, file_number, TOX_FILE_CONTROL['CANCEL']) self._tox.file_control(friend_number, file_number, TOX_FILE_CONTROL['CANCEL'])
def cancel_not_started_transfer(self, cancel_time): def cancel_not_started_transfer(self, friend_number, message_id):
self.get_curr_friend().delete_one_unsent_file(cancel_time) self._get_friend_by_number(friend_number).delete_one_unsent_file(message_id)
def pause_transfer(self, friend_number, file_number, by_friend=False): def pause_transfer(self, friend_number, file_number, by_friend=False):
""" """
@ -128,7 +128,8 @@ class FileTransfersHandler:
def send_screenshot(self, data, friend_number): def send_screenshot(self, data, friend_number):
""" """
Send screenshot Send screenshot
:param data: raw data - png :param data: raw data - png format
:param friend_number: friend number
""" """
self.send_inline(data, 'toxygen_inline.png', friend_number) self.send_inline(data, 'toxygen_inline.png', friend_number)
@ -158,7 +159,7 @@ class FileTransfersHandler:
""" """
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:
m = UnsentFile(path, None, time.time()) m = UnsentFile(path, None, util.get_unix_time())
friend.append_message(m) friend.append_message(m)
return return
elif friend.status is None and is_resend: elif friend.status is None and is_resend:
@ -220,9 +221,9 @@ class FileTransfersHandler:
if friend_num == friend_number: if friend_num == friend_number:
ft = self._file_transfers[(friend_num, file_num)] ft = self._file_transfers[(friend_num, file_num)]
if type(ft) is SendTransfer: if type(ft) is SendTransfer:
self._paused_file_transfers[ft.get_id()] = [ft.get_path(), friend_num, False, -1] self._paused_file_transfers[ft.file_id] = [ft.path, friend_num, False, -1]
elif type(ft) is ReceiveTransfer and ft.state != FILE_TRANSFER_STATE['INCOMING_NOT_STARTED']: elif type(ft) is ReceiveTransfer and ft.state != FILE_TRANSFER_STATE['INCOMING_NOT_STARTED']:
self._paused_file_transfers[ft.get_id()] = [ft.get_path(), friend_num, True, ft.total_size()] self._paused_file_transfers[ft.file_id] = [ft.path, friend_num, True, ft.total_size()]
self.cancel_transfer(friend_num, file_num, True) self.cancel_transfer(friend_num, file_num, True)
# ----------------------------------------------------------------------------------------------------------------- # -----------------------------------------------------------------------------------------------------------------
@ -235,7 +236,7 @@ class FileTransfersHandler:
:param avatar_path: path to avatar or None if reset :param avatar_path: path to avatar or None if reset
""" """
sa = SendAvatar(avatar_path, self._tox, friend_number) sa = SendAvatar(avatar_path, self._tox, friend_number)
self._file_transfers[(friend_number, sa.get_file_number())] = sa self._file_transfers[(friend_number, sa.file_number)] = sa
def incoming_avatar(self, friend_number, file_number, size): def incoming_avatar(self, friend_number, file_number, size):
""" """

View file

@ -397,9 +397,11 @@ class UnsentFileItem(FileTransferItem):
movie = QtGui.QMovie(util.join_path(util.get_images_directory(), 'spinner.gif')) movie = QtGui.QMovie(util.join_path(util.get_images_directory(), 'spinner.gif'))
self.time.setMovie(movie) self.time.setMovie(movie)
movie.start() movie.start()
self._message_id = transfer_message.message_id
self._friend_number = transfer_message.friend_number
def cancel_transfer(self, *args): def cancel_transfer(self, *args):
self._file_transfer_handler.cancel_not_started_transfer(self._time) self._file_transfer_handler.cancel_not_started_transfer(self._friend_number, self._message_id)
class InlineImageItem(QtWidgets.QScrollArea): class InlineImageItem(QtWidgets.QScrollArea):