diff --git a/pynfe/processamento/mdfe.py b/pynfe/processamento/mdfe.py index 2631a0a..f7e8d01 100644 --- a/pynfe/processamento/mdfe.py +++ b/pynfe/processamento/mdfe.py @@ -32,6 +32,8 @@ from mdfelib.v3_00 import consSitMDFe from mdfelib.v3_00 import consMDFeNaoEnc from mdfelib.v3_00 import enviMDFe from mdfelib.v3_00 import consReciMDFe +from mdfelib.v3_00 import procMDFe +# from mdfelib.v3_00 import procEventoMDFe MDFE_SITUACAO_JA_ENVIADO = ('100', '101', '132') @@ -129,6 +131,7 @@ class ComunicacaoMDFe(Comunicacao): ws_metodo=WS_MDFE_CONSULTA, raiz_xml=raiz ) + # ).analisar_processo('MDFe', procEventoMDFe) def consulta_nao_encerrados(self, cnpj): raiz = consMDFeNaoEnc.TConsMDFeNaoEnc( @@ -169,7 +172,7 @@ class ComunicacaoMDFe(Comunicacao): classe=consReciMDFe, ws_metodo=WS_MDFE_RET_RECEPCAO, raiz_xml=raiz, - ) + ).analisar_processo('MDFe', procMDFe) def processar_documento(self, edoc): @@ -246,4 +249,9 @@ class ComunicacaoMDFe(Comunicacao): proc_recibo = self.consulta_recibo( proc_envio.resposta.infRec.nRec ) + + # TODO: Juntar processo com protocolo + if proc_recibo.processo: + pass + yield proc_recibo diff --git a/pynfe/processamento/resposta.py b/pynfe/processamento/resposta.py index 592ec5f..278a590 100644 --- a/pynfe/processamento/resposta.py +++ b/pynfe/processamento/resposta.py @@ -2,6 +2,8 @@ # Copyright (C) 2018 - TODAY Luis Felipe Mileo - KMEE INFORMATICA LTDA # License AGPL-3 - See https://www.gnu.org/licenses/lgpl-3.0.html +from __future__ import division, print_function, unicode_literals + import re from pynfe.utils import etree @@ -12,6 +14,22 @@ class RetornoSoap(object): self.webservice = webservice self.resposta = resposta self.retorno = retorno + self.processo = False + + def analisar_processo(self, documento, entidade): + + if documento == 'MDFe' and self.resposta.protMDFe: + self.processo = entidade( + versao=self.resposta.versao, + protMDFe=self.resposta.protMDFe, + ) + if documento == 'MDFe' and self.resposta.procEventoMDFe: + print('procEventoMDFe') + # self.processo = entidade( + # versao=self.resposta.versao, + # protMDFe=self.resposta.protMDFe, + # ) + return self def analisar_retorno(webservice, retorno, classe_resposta): @@ -25,4 +43,5 @@ def analisar_retorno(webservice, retorno, classe_resposta): classe_resposta.Validate_simpletypes_ = False resposta = classe_resposta.parseString(resultado.encode('utf-8')) - return RetornoSoap(webservice, retorno, resposta) + return RetornoSoap(webservice, retorno, resposta) +