Code Duplication    Length = 18-19 lines in 2 locations

chat/tornadoapp.py 2 locations

@@ 625-643 (lines=19) @@
622
		connection_id = in_message[VarNames.CONNECTION_ID]
623
		self_status = self.sync_redis.shget(connection_id, self.id)
624
		if self_status == WebRtcRedisStates.RESPONDED:
625
			self.sync_redis.hset(connection_id, self.id, WebRtcRedisStates.READY)
626
			channel_status = self.sync_redis.shgetall(connection_id)
627
			del channel_status[self.id]
628
			message = {
629
				VarNames.EVENT: Actions.ACCEPT_CALL,
630
				VarNames.USER_ID: self.user_id,
631
				VarNames.CONNECTION_ID: connection_id,
632
				VarNames.WEBRTC_OPPONENT_ID: self.id,
633
				VarNames.HANDLER_NAME: HandlerNames.WEBRTC_TRANSFER,
634
			}
635
			for key in channel_status:
636
				if channel_status[key] != WebRtcRedisStates.CLOSED:
637
					self.publish(message, key)
638
		else:
639
			raise ValidationError("Invalid channel status")
640
641
	def offer_webrtc_connection(self, in_message):
642
		room_id = in_message[VarNames.CHANNEL]
643
		content = in_message.get(VarNames.CONTENT)
644
		qued_id = in_message[VarNames.WEBRTC_QUED_ID]
645
		connection_id = id_generator(RedisPrefix.CONNECTION_ID_LENGTH)
646
		# use list because sets dont have 1st element which is offerer
@@ 536-553 (lines=18) @@
533
		self.do_db(message_db.save)
534
		db_images = self.save_images(raw_imgs, message_db.id)
535
		prepared_message = self.create_send_message(
536
			message_db,
537
			Actions.PRINT_MESSAGE,
538
			self.prepare_img(db_images, message_db.id)
539
		)
540
		self.publish(prepared_message, channel)
541
542
	def close_file_connection(self, in_message):
543
		connection_id = in_message[VarNames.CONNECTION_ID]
544
		self_channel_status = self.sync_redis.shget(connection_id, self.id)
545
		if not self_channel_status:
546
			raise Exception("Access Denied")
547
		if self_channel_status != WebRtcRedisStates.CLOSED:
548
			sender_id = self.sync_redis.shget(WEBRTC_CONNECTION, connection_id)
549
			if sender_id == self.id:
550
				self.close_file_sender(connection_id)
551
			else:
552
				self.close_file_receiver(connection_id, in_message, sender_id)
553
			self.async_redis_publisher.hset(connection_id, self.id, WebRtcRedisStates.CLOSED)
554
555
	def close_call_connection(self, in_message):
556
		connection_id = in_message[VarNames.CONNECTION_ID]