From 907299b9d0bf792ccb2548824c5cb6b35e5b0556 Mon Sep 17 00:00:00 2001 From: Carlos Figueiredo Date: Tue, 30 Jul 2013 11:53:53 -0300 Subject: [PATCH 1/5] Rename 01-basico.txt to 01-basico.md --- tests/{01-basico.txt => 01-basico.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{01-basico.txt => 01-basico.md} (100%) diff --git a/tests/01-basico.txt b/tests/01-basico.md similarity index 100% rename from tests/01-basico.txt rename to tests/01-basico.md From 22d9f6dc62126b58f5256dc2ed40de24fd75dcb1 Mon Sep 17 00:00:00 2001 From: Carlos Figueiredo Date: Tue, 30 Jul 2013 13:35:43 -0300 Subject: [PATCH 2/5] Update 01-basico.md Format in a Markdown way --- tests/01-basico.md | 127 ++++++++++++++++++++++----------------------- 1 file changed, 63 insertions(+), 64 deletions(-) diff --git a/tests/01-basico.md b/tests/01-basico.md index 19cd0f2..b58a7eb 100644 --- a/tests/01-basico.md +++ b/tests/01-basico.md @@ -1,12 +1,12 @@ TESTES BASICOS ============== - +```python >>> try: ... set ... except: ... from sets import Set as set - +``` A biblioteca deve fornecer uma colecao de utilitarios para consumir o webservice da NF-e. @@ -15,76 +15,75 @@ Componentes A separacao entre os componentes da biblioteca deve seguir o seguinte modelo: + +**MODELO DE ENTIDADES** + + | ------------ -------------- | + | | Entidade |-------<>| FonteDados | | + | ------------ -------------- | + | A | + | | | + | ----especializacao-------------------------- | + | | | | | | + | ------------ ----------- ----------- ------------------ | + | | Emitente | | Produto | | Cliente | | Transportadora | | + | ------------ ----------- ----------- ------------------ | + | *| *| *| *| | + | ------------------------------associacao---- | + | | | + | V* | + | --------------- ---------------- | + | | Nota Fiscal |------<>| Lote de NF-e | | + | --------------- 1 * ---------------- | + | | + - --------------------------------------------------------------------- - | MODELO DE ENTIDADES | - --------------------------------------------------------------------- - | | - | ------------ -------------- | - | | Entidade |-------<>| FonteDados | | - | ------------ -------------- | - | A | - | | | - | ----especializacao-------------------------- | - | | | | | | - | ------------ ----------- ----------- ------------------ | - | | Emitente | | Produto | | Cliente | | Transportadora | | - | ------------ ----------- ----------- ------------------ | - | *| *| *| *| | - | ------------------------------associacao---- | - | | | - | V* | - | --------------- ---------------- | - | | Nota Fiscal |------<>| Lote de NF-e | | - | --------------- 1 * ---------------- | - | | - --------------------------------------------------------------------- - - - ---------------------------------------------------------------------------- - | 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() | | - | ---------------------- | - ---------------------------------------------------------------------------- + + +** 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() | | + | ---------------------- | + Os pacotes da biblioteca sao: - utils (contem todas as funcionalidades utilitarias dentro da biblioteca, incluindo flags e funcoes genericas) - - >>> from pynfe import utils - >>> set([attr for attr in dir(utils) if not attr.startswith('__')]) >= set(['flags']) - True +```python +from pynfe import utils +set([attr for attr in dir(utils) if not attr.startswith('__')]) >= set(['flags']) +``` +>>>True - entidades (contem todas as entidades da biblioteca) - - >>> from pynfe import entidades - >>> 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']) - True +```python +from pynfe import entidades +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']) +``` +>>> True - processamento (contem todas as funcionalidades de processamento da biblioteca From 3648a2dafc3fb406e11f2efdf27274af161d00b6 Mon Sep 17 00:00:00 2001 From: Carlos Figueiredo Date: Tue, 30 Jul 2013 13:44:56 -0300 Subject: [PATCH 3/5] Update 01-basico.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajuste na formatação --- tests/01-basico.md | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/tests/01-basico.md b/tests/01-basico.md index b58a7eb..251dc62 100644 --- a/tests/01-basico.md +++ b/tests/01-basico.md @@ -1,11 +1,11 @@ TESTES BASICOS ============== ```python - >>> try: - ... set - ... except: - ... from sets import Set as set - +try: + set +except: + from sets import Set as set + ``` A biblioteca deve fornecer uma colecao de utilitarios para consumir o webservice da NF-e. @@ -16,7 +16,7 @@ Componentes A separacao entre os componentes da biblioteca deve seguir o seguinte modelo: -**MODELO DE ENTIDADES** +***MODELO DE ENTIDADES*** | ------------ -------------- | | | Entidade |-------<>| FonteDados | | @@ -40,7 +40,7 @@ modelo: -** PROCESSAMENTO ** +***PROCESSAMENTO*** | ------------------ -------------- -------------------------------- | | | Serializacao | | DANFE | | Comunicacao | | @@ -68,23 +68,22 @@ Os pacotes da biblioteca sao: - utils (contem todas as funcionalidades utilitarias dentro da biblioteca, incluindo flags e funcoes genericas) -```python -from pynfe import utils -set([attr for attr in dir(utils) if not attr.startswith('__')]) >= set(['flags']) -``` ->>>True + ```python + from pynfe import utils + set([attr for attr in dir(utils) if not attr.startswith('__')]) >= set(['flags']) + ``` - entidades (contem todas as entidades da biblioteca) -```python -from pynfe import entidades -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']) -``` ->>> True - + ```python + from pynfe import entidades + 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']) + ``` + - processamento (contem todas as funcionalidades de processamento da biblioteca From 3ccaea61d54e38b03a794738958d6327fee912a4 Mon Sep 17 00:00:00 2001 From: Carlos Figueiredo Date: Tue, 30 Jul 2013 14:40:07 -0300 Subject: [PATCH 4/5] Rename README to README.md --- README => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README => README.md (100%) diff --git a/README b/README.md similarity index 100% rename from README rename to README.md From 654fde18f63e16fd664a42ac94daae2237719b7f Mon Sep 17 00:00:00 2001 From: Carlos Figueiredo Date: Tue, 30 Jul 2013 14:59:21 -0300 Subject: [PATCH 5/5] Update README.md Format to Markdown syntax, and description of openssl library --- README.md | 79 +++++++++++++++++++++---------------------------------- 1 file changed, 30 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index d1b9ddd..476250f 100644 --- a/README.md +++ b/README.md @@ -10,86 +10,67 @@ A NF-e visa substituir as notas fiscais séries 1 e 1A Dependências ------------ -- Geraldo Reports (http://geraldo.sourceforge.net/) +- *[Geraldo Reports](http://geraldo.sourceforge.net/)* - para a geração da DANFE -- lxml +- *lxml* - biblioteca de leitura e gravação de arquivos XML, de alta performance e fácil de implementar. -- openssl - - ? -- MS CAPICOM +- *openssl* + - biblioteca para manuseio e trafego de dados criptografados + - manuseio de protocolo ssl/tls +- *MS CAPICOM* - evitar seu uso, usar somente se obrigatório -- XmlSEC +- *XmlSEC* - assinatura e validação do XML Referências ----------- -- Site oficial da Nota Fiscal eletrônica - - http://www.nfe.fazenda.gov.br/portal/ +[Site oficial da Nota Fiscal eletrônica](http://www.nfe.fazenda.gov.br/portal/) -- Noções gerais da NF-e - - http://pt.wikipedia.org/wiki/Nota_fiscal_eletrônica +[Noções gerais da NF-e](http://pt.wikipedia.org/wiki/Nota_fiscal_eletrônica) -- Componente para Delphi ACBrNFe +Componente para Delphi ACBrNFe - http://acbr.sourceforge.net/drupal/?q=node/36 - http://devmedia.com.br/articles/viewcomp.asp?comp=12237 -- Exemplos de arquivos XML - - http://nf-eletronica.com/blog/?p=77 +[Exemplos de arquivos XML](http://nf-eletronica.com/blog/?p=77) -- Exemplos de consumação do WebService - - http://nf-eletronica.com/blog/?p=75 +[Exemplos de consumação do WebService](http://nf-eletronica.com/blog/?p=75) -- Tutorial e outras documentações - - http://www.icert.com.br/gestor/tutoriais/conteudo/15,0_Nota-Fiscal-Eletronica-NF-e.html +[Tutorial e outras documentações](http://www.icert.com.br/gestor/tutoriais/conteudo/15,0_Nota-Fiscal-Eletronica-NF-e.html) -- Manual oficial de integração - - http://www.nfe.fazenda.gov.br/portal/integracao.aspx +[Manual oficial de integração](http://www.nfe.fazenda.gov.br/portal/integracao.aspx) -- Schemas para validação dos arquivos - - http://www.nfe.fazenda.gov.br/portal/schemas.aspx +[Schemas para validação dos arquivos](http://www.nfe.fazenda.gov.br/portal/schemas.aspx) -- Criação de certificados X.509 com OpenVPN - - http://www.guiadohardware.net/tutoriais/openvpn_2/pagina2.html +[Criação de certificados X.509 com OpenVPN](http://www.guiadohardware.net/tutoriais/openvpn_2/pagina2.html) - verificar se pode ser usado para testes sem ter um certificado oficial -- Assinador - disseminação da assinatura digital - - http://www.nfe.fazenda.gov.br/portal/assinador.aspx +[Assinador](http://www.nfe.fazenda.gov.br/portal/assinador.aspx) + - disseminação da assinatura digital -- Planilha com CNAEs obrigadas a emitir NF-e - - http://portalnfe.fazenda.mg.gov.br/downloads/CNAEs_Obrigadas_NFe_061009.xls +[Planilha com CNAEs obrigadas a emitir NF-e](http://portalnfe.fazenda.mg.gov.br/downloads/CNAEs_Obrigadas_NFe_061009.xls) -- Visualizador Documento Fiscal Eletrônico (NF-e e CT-e) - - http://www.nfe.fazenda.gov.br/portal/visualizador.aspx +[Visualizador Documento Fiscal Eletrônico (NF-e e CT-e)](http://www.nfe.fazenda.gov.br/portal/visualizador.aspx) -- Texto sobre Python + SOAP + SSL + NF-e - - http://victorpoluceno.blogspot.com/2008/03/python-ssl-certificado-digital.html +[Texto sobre Python + SOAP + SSL + NF-e](http://victorpoluceno.blogspot.com/2008/03/python-ssl-certificado-digital.html) -- Tutorial de lxml - - http://codespeak.net/lxml/tutorial.html +[Tutorial de lxml](http://codespeak.net/lxml/tutorial.html) -- Validao de XML via XSD no lxml - - http://codespeak.net/lxml/validation.html#xmlschema +[Validao de XML via XSD no lxml](http://codespeak.net/lxml/validation.html#xmlschema) -- Geracao de codigos de barra Code128 no Python - - http://barcode128.blogspot.com/2007/03/code128py.html +[Geracao de codigos de barra Code128 no Python](http://barcode128.blogspot.com/2007/03/code128py.html) -- Descricao do Code128 na Wikipedia - - http://en.wikipedia.org/wiki/Code_128 +[Descricao do Code128 na Wikipedia](http://en.wikipedia.org/wiki/Code_128) -- Documentação do módulo de geração de Code128 no ReportLab - - http://www.reportlab.com/apis/reportlab/reportlab.graphics.barcode.code128-module.html +[Documentação do módulo de geração de Code128 no ReportLab](http://www.reportlab.com/apis/reportlab/reportlab.graphics.barcode.code128-module.html) -- Exemplo de codigo de barras da DANF-e usando ReportLab - - http://pastebin.com/f17b153a8 +[Exemplo de codigo de barras da DANF-e usando ReportLab](http://pastebin.com/f17b153a8) -- Thread da lista pyhton-brasil sobre streching do codigo de barras - - http://br.groups.yahoo.com/group/python-brasil/message/41299 +[Thread da lista pyhton-brasil sobre streching do codigo de barras](http://br.groups.yahoo.com/group/python-brasil/message/41299) -- Lista de codigos para campo EX TIPI - - http://www.fisconet.com.br/ipi/tipi/04.htm +[Lista de codigos para campo EX TIPI](http://www.fisconet.com.br/ipi/tipi/04.htm) -- Certificado para testes - - http://nf-eletronica.com/blog/?p=133 +[Certificado para testes](http://nf-eletronica.com/blog/?p=133)