#1735 don't stop completed transfer
This commit is contained in:
		
							parent
							
								
									b6038f7a0f
								
							
						
					
					
						commit
						1f85960c64
					
				
					 1 changed files with 13 additions and 0 deletions
				
			
		|  | @ -54,6 +54,17 @@ class ConnectionBytestream: | |||
| 	def __init__(self): | ||||
| 		self.files_props = {} | ||||
| 	 | ||||
| 	def is_transfer_stoped(self, file_props): | ||||
| 		if file_props.has_key('error') and file_props['error'] != 0: | ||||
| 			return True | ||||
| 		if file_props.has_key('completed') and file_props['completed']: | ||||
| 			return True | ||||
| 		if file_props.has_key('connected') and file_props['connected'] == False: | ||||
| 			return True | ||||
| 		if not file_props.has_key('stopped') or not file_props['stopped']: | ||||
| 			return False | ||||
| 		return True | ||||
| 	 | ||||
| 	def send_success_connect_reply(self, streamhost): | ||||
| 		''' send reply to the initiator of FT that we | ||||
| 		made a connection | ||||
|  | @ -72,6 +83,8 @@ class ConnectionBytestream: | |||
| 	def remove_transfers_for_contact(self, contact): | ||||
| 		''' stop all active transfer for contact ''' | ||||
| 		for file_props in self.files_props.values(): | ||||
| 			if self.is_transfer_stoped(file_props): | ||||
| 				continue | ||||
| 			receiver_jid = unicode(file_props['receiver']).split('/')[0] | ||||
| 			if contact.jid == receiver_jid: | ||||
| 				file_props['error'] = -5 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue