Example #1
0
	def getTransaction( self, event, createIfMissing ):
		#FIXME: transaction key is more complex than call-id.
		key = event.message['Call-ID']

		try:
			transaction = self.transactions[key]
		except KeyError:
			if createIfMissing:
				# No transaction available, create a new one.
				transaction = Transaction( key, self, event )
				if transaction:
					transaction.addListener( self )
					self.transactions[key] = transaction
			else:
				transaction = None

		return transaction