|
|
@ -2,9 +2,9 @@ TESTES BASICOS |
|
|
============== |
|
|
============== |
|
|
|
|
|
|
|
|
>>> try: |
|
|
>>> try: |
|
|
... set |
|
|
|
|
|
|
|
|
... set |
|
|
... except: |
|
|
... except: |
|
|
... from sets import Set as set |
|
|
|
|
|
|
|
|
... from sets import Set as set |
|
|
<type 'set'> |
|
|
<type 'set'> |
|
|
|
|
|
|
|
|
A biblioteca deve fornecer uma colecao de utilitarios para consumir |
|
|
A biblioteca deve fornecer uma colecao de utilitarios para consumir |
|
|
@ -17,54 +17,54 @@ A separacao entre os componentes da biblioteca deve seguir o seguinte |
|
|
modelo: |
|
|
modelo: |
|
|
|
|
|
|
|
|
--------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------- |
|
|
| MODELO DE ENTIDADES | |
|
|
|
|
|
|
|
|
| MODELO DE ENTIDADES | |
|
|
--------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------- |
|
|
| | |
|
|
|
|
|
| ------------ -------------- | |
|
|
|
|
|
| | Entidade |-------<>| FonteDados | | |
|
|
|
|
|
| ------------ -------------- | |
|
|
|
|
|
| A | |
|
|
|
|
|
| | | |
|
|
|
|
|
| ----especializacao-------------------------- | |
|
|
|
|
|
| | | | | | |
|
|
|
|
|
| ------------ ----------- ----------- ------------------ | |
|
|
|
|
|
| | Emitente | | Produto | | Cliente | | Transportadora | | |
|
|
|
|
|
| ------------ ----------- ----------- ------------------ | |
|
|
|
|
|
| *| *| *| *| | |
|
|
|
|
|
| ------------------------------associacao---- | |
|
|
|
|
|
| | | |
|
|
|
|
|
| V* | |
|
|
|
|
|
| --------------- ---------------- | |
|
|
|
|
|
| | Nota Fiscal |------<>| Lote de NF-e | | |
|
|
|
|
|
| --------------- 1 * ---------------- | |
|
|
|
|
|
| | |
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| ------------ -------------- | |
|
|
|
|
|
| | Entidade |-------<>| FonteDados | | |
|
|
|
|
|
| ------------ -------------- | |
|
|
|
|
|
| A | |
|
|
|
|
|
| | | |
|
|
|
|
|
| ----especializacao-------------------------- | |
|
|
|
|
|
| | | | | | |
|
|
|
|
|
| ------------ ----------- ----------- ------------------ | |
|
|
|
|
|
| | Emitente | | Produto | | Cliente | | Transportadora | | |
|
|
|
|
|
| ------------ ----------- ----------- ------------------ | |
|
|
|
|
|
| *| *| *| *| | |
|
|
|
|
|
| ------------------------------associacao---- | |
|
|
|
|
|
| | | |
|
|
|
|
|
| V* | |
|
|
|
|
|
| --------------- ---------------- | |
|
|
|
|
|
| | Nota Fiscal |------<>| Lote de NF-e | | |
|
|
|
|
|
| --------------- 1 * ---------------- | |
|
|
|
|
|
| | |
|
|
--------------------------------------------------------------------- |
|
|
--------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------------------- |
|
|
---------------------------------------------------------------------------- |
|
|
| PROCESSAMENTO | |
|
|
|
|
|
|
|
|
| PROCESSAMENTO | |
|
|
---------------------------------------------------------------------------- |
|
|
---------------------------------------------------------------------------- |
|
|
| | |
|
|
|
|
|
| ------------------ -------------- -------------------------------- | |
|
|
|
|
|
| | Serializacao | | DANFE | | Comunicacao | | |
|
|
|
|
|
| ------------------ -------------- -------------------------------- | |
|
|
|
|
|
| | exportar() | | imprimir() | | transmitir() | | |
|
|
|
|
|
| | importar() | -------------- | cancelar() | | |
|
|
|
|
|
| ------------------ | situacao_nfe() | | |
|
|
|
|
|
| | status_servico() | | |
|
|
|
|
|
| ---------------------- | consultar_cadastro() | | |
|
|
|
|
|
| | Validacao | | inutilizar_faixa_numeracao() | | |
|
|
|
|
|
| ---------------------- -------------------------------- | |
|
|
|
|
|
| | validar_arquivo() | | |
|
|
|
|
|
| | validar_xml() | | |
|
|
|
|
|
| | validar_etree() | ---------------------- | |
|
|
|
|
|
| | validar_objetos() | | Assinatura | | |
|
|
|
|
|
| ---------------------- ---------------------- | |
|
|
|
|
|
| | assinar_arquivo() | | |
|
|
|
|
|
| | assinar_xml() | | |
|
|
|
|
|
| | assinar_etree() | | |
|
|
|
|
|
| | assinar_objetos() | | |
|
|
|
|
|
| ---------------------- | |
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
| ------------------ -------------- -------------------------------- | |
|
|
|
|
|
| | Serializacao | | DANFE | | Comunicacao | | |
|
|
|
|
|
| ------------------ -------------- -------------------------------- | |
|
|
|
|
|
| | exportar() | | imprimir() | | transmitir() | | |
|
|
|
|
|
| | importar() | -------------- | cancelar() | | |
|
|
|
|
|
| ------------------ | situacao_nfe() | | |
|
|
|
|
|
| | status_servico() | | |
|
|
|
|
|
| ---------------------- | consultar_cadastro() | | |
|
|
|
|
|
| | Validacao | | inutilizar_faixa_numeracao() | | |
|
|
|
|
|
| ---------------------- -------------------------------- | |
|
|
|
|
|
| | validar_arquivo() | | |
|
|
|
|
|
| | validar_xml() | | |
|
|
|
|
|
| | validar_etree() | ---------------------- | |
|
|
|
|
|
| | validar_objetos() | | Assinatura | | |
|
|
|
|
|
| ---------------------- ---------------------- | |
|
|
|
|
|
| | assinar_arquivo() | | |
|
|
|
|
|
| | assinar_xml() | | |
|
|
|
|
|
| | assinar_etree() | | |
|
|
|
|
|
| | assinar_objetos() | | |
|
|
|
|
|
| ---------------------- | |
|
|
---------------------------------------------------------------------------- |
|
|
---------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
Os pacotes da biblioteca sao: |
|
|
Os pacotes da biblioteca sao: |
|
|
@ -80,10 +80,10 @@ Os pacotes da biblioteca sao: |
|
|
|
|
|
|
|
|
>>> from pynfe import entidades |
|
|
>>> from pynfe import entidades |
|
|
>>> set([attr for attr in dir(entidades) if not attr.startswith('__')]) == set([ |
|
|
>>> set([attr for attr in dir(entidades) if not attr.startswith('__')]) == set([ |
|
|
... 'Cliente', 'Emitente', 'LoteNotaFiscal', 'NotaFiscal', 'Produto', |
|
|
|
|
|
... 'Transportadora', 'base', 'cliente', 'emitente', 'lotes', 'notafiscal', |
|
|
|
|
|
... 'produto', 'transportadora', 'fonte_dados', '_fonte_dados','certificado', |
|
|
|
|
|
... 'CertificadoA1']) |
|
|
|
|
|
|
|
|
... 'Cliente', 'Emitente', 'LoteNotaFiscal', 'NotaFiscal', 'Produto', |
|
|
|
|
|
... 'Transportadora', 'base', 'cliente', 'emitente', 'lotes', 'notafiscal', |
|
|
|
|
|
... 'produto', 'transportadora', 'fonte_dados', '_fonte_dados','certificado', |
|
|
|
|
|
... 'CertificadoA1']) |
|
|
True |
|
|
True |
|
|
|
|
|
|
|
|
- processamento (contem todas as funcionalidades de processamento da |
|
|
- processamento (contem todas as funcionalidades de processamento da |
|
|
@ -91,8 +91,8 @@ Os pacotes da biblioteca sao: |
|
|
|
|
|
|
|
|
>>> from pynfe import processamento |
|
|
>>> from pynfe import processamento |
|
|
>>> set([attr for attr in dir(processamento) if not attr.startswith('__')]) == set([ |
|
|
>>> set([attr for attr in dir(processamento) if not attr.startswith('__')]) == set([ |
|
|
... 'AssinaturaA1', 'ComunicacaoSefaz', 'DANFE', 'SerializacaoXML', 'Validacao', |
|
|
|
|
|
... 'assinatura', 'comunicacao', 'danfe', 'serializacao', 'validacao']) |
|
|
|
|
|
|
|
|
... 'AssinaturaA1', 'ComunicacaoSefaz', 'DANFE', 'SerializacaoXML', 'Validacao', |
|
|
|
|
|
... 'assinatura', 'comunicacao', 'danfe', 'serializacao', 'validacao']) |
|
|
True |
|
|
True |
|
|
|
|
|
|
|
|
Ha ainda uma pasta dentro da pasta 'pynfe', chamada 'data', que deve |
|
|
Ha ainda uma pasta dentro da pasta 'pynfe', chamada 'data', que deve |
|
|
@ -127,9 +127,9 @@ instanciada diretamente. |
|
|
>>> lista_de_nfs = [] |
|
|
>>> lista_de_nfs = [] |
|
|
|
|
|
|
|
|
>>> try: |
|
|
>>> try: |
|
|
... Serializacao(lista_de_nfs) |
|
|
|
|
|
|
|
|
... Serializacao(lista_de_nfs) |
|
|
... except Exception, e: |
|
|
... except Exception, e: |
|
|
... print e.message |
|
|
|
|
|
|
|
|
... print e.message |
|
|
Esta classe nao pode ser instanciada diretamente! |
|
|
Esta classe nao pode ser instanciada diretamente! |
|
|
|
|
|
|
|
|
Classe de serializacao especifica para XML, usando lxml |
|
|
Classe de serializacao especifica para XML, usando lxml |
|
|
@ -148,7 +148,7 @@ objetivo pretendido. |
|
|
... import xml.etree.cElementTree as etree |
|
|
... import xml.etree.cElementTree as etree |
|
|
... except ImportError: |
|
|
... except ImportError: |
|
|
... try: |
|
|
... try: |
|
|
... # Python 2.5 |
|
|
|
|
|
|
|
|
... # Python 2.5 |
|
|
... import xml.etree.ElementTree as etree |
|
|
... import xml.etree.ElementTree as etree |
|
|
... except ImportError: |
|
|
... except ImportError: |
|
|
... try: |
|
|
... try: |
|
|
|