Se agregaron cambios de XMLController
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import xml.etree.ElementTree as ET
|
||||
from dataclasses import dataclass
|
||||
from typing import List, Dict
|
||||
|
||||
# Pedimento Completo
|
||||
@dataclass
|
||||
@@ -247,9 +248,51 @@ class XMLScraper: # Clase me extrae datos de Pedimento
|
||||
|
||||
return extract_xml_data(xml_content)
|
||||
|
||||
|
||||
class XMLControllerRemesas:
|
||||
pass
|
||||
"""
|
||||
Controlador para scrapear XML de consultar remesas.
|
||||
Extrae todos los comprobantesVE, junto con remesaAgente y remesaSA.
|
||||
"""
|
||||
|
||||
namespaces = {
|
||||
"S": "http://schemas.xmlsoap.org/soap/envelope/",
|
||||
"ns2": "http://www.ventanillaunica.gob.mx/common/ws/oxml/respuesta",
|
||||
"ns3": "http://www.ventanillaunica.gob.mx/pedimentos/ws/oxml/consultarremesas",
|
||||
}
|
||||
|
||||
def extract_remesas(self, xml_content: str) -> List[Dict[str, str]]:
|
||||
"""
|
||||
Extrae todos los comprobanteVE de un XML de remesas.
|
||||
|
||||
Args:
|
||||
xml_content: Contenido del XML en string.
|
||||
|
||||
Returns:
|
||||
Lista de diccionarios con comprobanteVE, remesaAgente y remesaSA.
|
||||
"""
|
||||
try:
|
||||
root = ET.fromstring(xml_content)
|
||||
|
||||
remesas = []
|
||||
for remesa in root.findall(".//ns3:remesas", self.namespaces):
|
||||
comprobante = remesa.find("ns3:comprobanteVE", self.namespaces)
|
||||
agente = remesa.find("ns3:remesaAgente", self.namespaces)
|
||||
sa = remesa.find("ns3:remesaSA", self.namespaces)
|
||||
|
||||
remesas.append({
|
||||
"comprobanteVE": comprobante.text if comprobante is not None else None,
|
||||
"remesaAgente": agente.text if agente is not None else None,
|
||||
"remesaSA": sa.text if sa is not None else None
|
||||
})
|
||||
|
||||
return remesas
|
||||
|
||||
except ET.ParseError as e:
|
||||
print(f"Error al parsear XML: {e}")
|
||||
return []
|
||||
except Exception as e:
|
||||
print(f"Error inesperado: {e}")
|
||||
return []
|
||||
|
||||
class XMLControllerPartidas:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user