Módulo satcfe.resposta.padrao

class satcfe.resposta.padrao.RespostaSAT(**kwargs)

Base para representação de respostas das funções da biblioteca SAT. A maior parte das funções SAT resultam em respostas que contém um conjunto padrão de atributos (veja o atributo CAMPOS), descritos na ER SAT:

numeroSessao (int)
EEEEE (text)
mensagem (text)
cod (text)
mensagemSEFAZ (text)

Além dos atributos padrão, a resposta deverá conter uma referência para o nome da função SAT a que a resposta se refere e ao conteúdo original da resposta, através dos atributos:

resposta.atributos.funcao
resposta.atributos.verbatim

Esta classe fornece uma série de métodos construtores (factory methods) para respostas que são comuns. Para as respostas que não são comuns, existem especializações desta classe.

Nota

Espera-se que a resposta original, devolvida pela biblioteca do fabricante do equipamento SAT, será sempre um dado Unicode.

Nota

Aqui, text diz respeito à um objeto unicode (Python 2) ou str (Python 3). Veja builtins.str da biblioteca future.

class Atributos(funcao=None, verbatim=None)
funcao
verbatim
CAMPOS = (('numeroSessao', <class 'int'>), ('EEEEE', <class 'str'>), ('mensagem', <class 'str'>), ('cod', <class 'str'>), ('mensagemSEFAZ', <class 'str'>))

Campos padrão esperados em uma resposta e a sua função de conversão para o tipo Python, a partir da resposta original.

static atualizar_software_sat(retorno)

Constrói uma RespostaSAT para o retorno da função atualizar_software_sat().

static bloquear_sat(retorno)

Constrói uma RespostaSAT para o retorno da função bloquear_sat().

static comunicar_certificado_icpbrasil(retorno)

Constrói uma RespostaSAT para o retorno da função comunicar_certificado_icpbrasil().

static configurar_interface_de_rede(retorno)

Constrói uma RespostaSAT para o retorno da função configurar_interface_de_rede().

static consultar_sat(retorno)

Constrói uma RespostaSAT para o retorno da função consultar_sat().

static desbloquear_sat(retorno)

Constrói uma RespostaSAT para o retorno da função desbloquear_sat().

static trocar_codigo_de_ativacao(retorno)

Constrói uma RespostaSAT para o retorno da função trocar_codigo_de_ativacao().

satcfe.resposta.padrao.analisar_retorno(retorno, classe_resposta=<class 'satcfe.resposta.padrao.RespostaSAT'>, campos=(('numeroSessao', <class 'int'>), ('EEEEE', <class 'str'>), ('mensagem', <class 'str'>), ('cod', <class 'str'>), ('mensagemSEFAZ', <class 'str'>)), campos_alternativos=[], funcao=None, manter_verbatim=True)

Analisa o retorno (supostamente um retorno de uma função do SAT) conforme o padrão e campos esperados. O retorno deverá possuir dados separados entre si através de pipes e o número de campos deverá coincidir com os campos especificados.

Parâmetros:
  • retorno (str) – O conteúdo da resposta retornada pela função da biblioteca do fabricante do equipamento SAT, que espera-se que seja um dado Unicode.
  • classe_resposta (type) – O tipo RespostaSAT ou especialização que irá representar o retorno, após sua decomposição em campos.
  • campos (tuple) – Especificação dos campos e seus conversores. Os campos devem ser especificados como uma tupla onde cada elemento deverá ser uma tupla contendo dois elementos: o nome do campo e uma função de conversão a partir de uma string.
  • campos_alternativos (list) – Uma lista de campos alternativos que serão considerados caso o número de campos encontrados na resposta não coincida com o número de campos do argumento campos. Para que a relação alternativa de campos funcione, é importante que cada relação de campos alternativos tenha um número diferente de campos.
  • funcao (str) – Nome da função da DLL SAT que gerou o retorno, que estará disponível nos atributos adicionais à resposta.
  • manter_verbatim (bool) – Se uma cópia verbatim da resposta deverá ser mantida nos atributos adicionais à resposta.
Levanta:

ErroRespostaSATInvalida – Se o retorno não estiver em conformidade com o padrão esperado ou se não possuir os campos especificados.

Retorna:

Uma instância de RespostaSAT ou especialização.

Tipo de retorno:
 

satcfe.resposta.padrao.RespostaSAT