From e125a0316d07060aca995f818314d292054e5f35 Mon Sep 17 00:00:00 2001 From: ODBreno Date: Fri, 10 Nov 2023 16:48:07 -0300 Subject: [PATCH] [ADD] CTe Adapter --- nfelib/nfe/ws/edoc_legacy.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/nfelib/nfe/ws/edoc_legacy.py b/nfelib/nfe/ws/edoc_legacy.py index 51c449ba..0be7960c 100644 --- a/nfelib/nfe/ws/edoc_legacy.py +++ b/nfelib/nfe/ws/edoc_legacy.py @@ -15,6 +15,7 @@ from erpbrasil.edoc.edoc import DocumentoEletronico from erpbrasil.edoc.mde import MDe from erpbrasil.edoc.mdfe import MDFe + from erpbrasil.edoc.cte import CTe from erpbrasil.edoc.nfce import NFCe from erpbrasil.edoc.nfe import NFe, localizar_url, WS_NFE_CONSULTA from erpbrasil.edoc.resposta import RetornoSoap, analisar_retorno_raw @@ -141,6 +142,22 @@ class MDeAdapter(DocumentoElectronicoAdapter, MDe): pass +class CTeAdapter(DocumentoElectronicoAdapter, CTe): + + def _post(self, raiz, url, operacao, classe): + xml_etree = xml_string = raiz + if is_dataclass(raiz): + xml_string, xml_etree = self.render_edoc_xsdata(raiz) + with self._transmissao.cliente(url): + retorno = self._transmissao.enviar(operacao, xml_etree) + if is_dataclass(classe): + return analisar_retorno_raw_xsdata( + operacao, raiz, xml_string, retorno, classe + ) + else: + return analisar_retorno_raw(operacao, raiz, xml_string, retorno, classe) + + class MDFeAdapter(DocumentoElectronicoAdapter, MDFe): NAMESPACES = { "mdfe": "http://www.portalfiscal.inf.br/mdfe",