se simplifica la obtencion de contenido y atributos de multiples elementos xml

FossilOrigin-Name: cf1d924be9a62e231090f6448b10ba23c04bbbacc8d94fc16d5ca4e0735c4bbc
This commit is contained in:
bit4bit
2021-11-06 21:40:36 +00:00
parent 3ec31c36b4
commit d5fd7db23c
3 changed files with 41 additions and 18 deletions

View File

@@ -67,19 +67,21 @@ class InformacionGeneral:
def post_apply(self, fexml, fragment):
# generar cune
campos = [
fexml.get_element_attribute('/fe:NominaIndividual/NumeroSecuenciaXML', 'Numero'),
fexml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'FechaGen'),
fexml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'HoraGen'),
fexml.get_element_text('/fe:NominaIndividual/DevengadosTotal'),
fexml.get_element_text('/fe:NominaIndividual/DeduccionesTotal'),
fexml.get_element_text('/fe:NominaIndividual/ComprobanteTotal'),
fexml.get_element_attribute('/fe:NominaIndividual/Empleador', 'NIT'),
fexml.get_element_attribute('/fe:NominaIndividual/Trabajador', 'NumeroDocumento'),
fexml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'TipoXML'),
self.software_pin,
fexml.get_element_attribute('/fe:NominaIndividual/InformacionGeneral', 'Ambiente')
xpaths = [
'/fe:NominaIndividual/NumeroSecuenciaXML/@Numero',
'/fe:NominaIndividual/InformacionGeneral/@FechaGen',
'/fe:NominaIndividual/InformacionGeneral/@HoraGen',
'/fe:NominaIndividual/DevengadosTotal',
'/fe:NominaIndividual/DeduccionesTotal',
'/fe:NominaIndividual/ComprobanteTotal',
'/fe:NominaIndividual/Empleador/@NIT',
'/fe:NominaIndividual/Trabajador/@NumeroDocumento',
'/fe:NominaIndividual/InformacionGeneral/@TipoXML',
tuple([self.software_pin]),
'/fe:NominaIndividual/InformacionGeneral/@Ambiente'
]
campos = fexml.get_elements_text_or_attributes(xpaths)
cune = "".join(campos)
print(cune)
h = hashlib.sha384()