Example #1
0
	def add_data(self, el):
		"""
		Turn a XML element into a class attribute as needed.
		"""
		from apirequests import Request
		node = DataTree.parse(xml=el, engine=self.engine)
		if isinstance(node, Request):
			self.request = node
		elif isinstance(node, Authorization):
			if hasattr(self, 'auth_list'):
				self.auths.append(node)
			else:
				assert not hasattr(self, 'auth')
				self.auth = node
		elif isinstance(node, AccountingOp):
			if hasattr(self, 'op_list'):
				self.ops.append(node)
			else:
				assert not hasattr(self, 'op')
				self.op = node
		elif isinstance(node, CreditRestoreResult):
			self.credit_restore = node
		elif isinstance(node, FormerResultCheck):
			self.former_req = node
		elif isinstance(node, AcctOpList):
			self.op_list = node
			self.ops = []
		elif isinstance(node, AuthListTag) or isinstance(
			node, OrderStatus):
			self.auth_list = node
			self.auths = []
		else:
			raise "Not implemented yet", el._name
Example #2
0
	def __init__(self, *args, **kwargs):
		super(AccountingOp, self).__init__(*args, **kwargs)
		xml = self.xml
		self.id = str(xml.IDtrans)
		self.request_ts = ParseDateTime(str(xml.TimestampRic))
		self.processing_ts = ParseDateTime(str(xml.TimestampElab))
		self.type = OperationType.parse(str(xml.TipoOp))
		self.amount = Amount.parse(str(xml.Importo))
		self.status = AcctStatus.parse(str(xml.Stato))
		self.auth = DataTree.parse(xml.Autorizzazione, engine=self.engine)