|
15 | 15 | from erpbrasil.edoc.edoc import DocumentoEletronico
|
16 | 16 | from erpbrasil.edoc.mde import MDe
|
17 | 17 | from erpbrasil.edoc.mdfe import MDFe
|
| 18 | + from erpbrasil.edoc.cte import CTe |
18 | 19 | from erpbrasil.edoc.nfce import NFCe
|
19 | 20 | from erpbrasil.edoc.nfe import NFe, localizar_url, WS_NFE_CONSULTA
|
20 | 21 | from erpbrasil.edoc.resposta import RetornoSoap, analisar_retorno_raw
|
@@ -141,6 +142,22 @@ class MDeAdapter(DocumentoElectronicoAdapter, MDe):
|
141 | 142 | pass
|
142 | 143 |
|
143 | 144 |
|
| 145 | +class CTeAdapter(DocumentoElectronicoAdapter, CTe): |
| 146 | + |
| 147 | + def _post(self, raiz, url, operacao, classe): |
| 148 | + xml_etree = xml_string = raiz |
| 149 | + if is_dataclass(raiz): |
| 150 | + xml_string, xml_etree = self.render_edoc_xsdata(raiz) |
| 151 | + with self._transmissao.cliente(url): |
| 152 | + retorno = self._transmissao.enviar(operacao, xml_etree) |
| 153 | + if is_dataclass(classe): |
| 154 | + return analisar_retorno_raw_xsdata( |
| 155 | + operacao, raiz, xml_string, retorno, classe |
| 156 | + ) |
| 157 | + else: |
| 158 | + return analisar_retorno_raw(operacao, raiz, xml_string, retorno, classe) |
| 159 | + |
| 160 | + |
144 | 161 | class MDFeAdapter(DocumentoElectronicoAdapter, MDFe):
|
145 | 162 | NAMESPACES = {
|
146 | 163 | "mdfe": "http://www.portalfiscal.inf.br/mdfe",
|
|
0 commit comments