Browse Source

correção de importações

pull/1/head
Junior Tada 11 years ago
parent
commit
0d6fa89162
  1. 16
      pynfe/entidades/__init__.py
  2. 2
      pynfe/entidades/certificado.py
  3. 4
      pynfe/entidades/cliente.py
  4. 2
      pynfe/entidades/emitente.py
  5. 2
      pynfe/entidades/lotes.py
  6. 2
      pynfe/entidades/notafiscal.py
  7. 2
      pynfe/entidades/produto.py
  8. 2
      pynfe/entidades/transportadora.py
  9. 23
      pynfe/processamento/assinatura.py
  10. 12
      pynfe/utils/__init__.py
  11. 4
      test.py

16
pynfe/entidades/__init__.py

@ -1,9 +1,9 @@
from emitente import Emitente
from produto import Produto
from cliente import Cliente
from transportadora import Transportadora
from notafiscal import NotaFiscal
from lotes import LoteNotaFiscal
from fonte_dados import _fonte_dados
#from certificado import CertificadoA1
from .emitente import Emitente
from .produto import Produto
from .cliente import Cliente
from .transportadora import Transportadora
from .notafiscal import NotaFiscal
from .lotes import LoteNotaFiscal
from .fonte_dados import _fonte_dados
from .certificado import CertificadoA1

2
pynfe/entidades/certificado.py

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import os
from base import Entidade
from .base import Entidade
from OpenSSL import crypto

4
pynfe/entidades/cliente.py

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from base import Entidade
from pynfe.utils.flags import TIPOS_DOCUMENTO, CODIGO_BRASIL
from .base import Entidade
from pynfe.utils.flags import CODIGO_BRASIL
class Cliente(Entidade):

2
pynfe/entidades/emitente.py

@ -1,4 +1,4 @@
from base import Entidade
from .base import Entidade
from pynfe.utils.flags import CODIGO_BRASIL
class Emitente(Entidade):

2
pynfe/entidades/lotes.py

@ -1,4 +1,4 @@
from base import Lote
from .base import Lote
class LoteNotaFiscal(Lote):
pass

2
pynfe/entidades/notafiscal.py

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import random
from base import Entidade
from .base import Entidade
from pynfe import get_version
from pynfe.utils.flags import NF_STATUS, NF_TIPOS_DOCUMENTO, NF_TIPOS_IMPRESSAO_DANFE,\
NF_FORMAS_PAGAMENTO, NF_FORMAS_EMISSAO, NF_FINALIDADES_EMISSAO,\

2
pynfe/entidades/produto.py

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
from base import Entidade
from .base import Entidade
from pynfe.utils.flags import ICMS_TIPOS_TRIBUTACAO, ICMS_ORIGENS, ICMS_MODALIDADES
from decimal import Decimal

2
pynfe/entidades/transportadora.py

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
from base import Entidade
from .base import Entidade
from pynfe.utils.flags import TIPOS_DOCUMENTO
class Transportadora(Entidade):

23
pynfe/processamento/assinatura.py

@ -24,6 +24,10 @@ class Assinatura(object):
"""Efetua a assinatura numa string contendo XML valido."""
pass
def assinar_nfe(self, xml):
"""Efetua a assinatura da nfe"""
pass
def assinar_etree(self, raiz):
u"""Efetua a assinatura numa instancia da biblioteca lxml.etree.
@ -75,6 +79,23 @@ class AssinaturaA1(Assinatura):
# Efetua a assinatura
return self.assinar_etree(raiz, retorna_xml=True)
def assinar_nfe(self, xml):
#from lxml import etree
import signxml
from signxml import xmldsig
cert = open("cert.pem").read()
key = open("key.pem", "rb").read()
root = etree.parse(xml).getroot()
signer = xmldsig(root, digest_algorithm="sha1")
signer.sign(method=signxml.methods.enveloped, key=key, cert=cert,
algorithm="rsa-sha1", c14n_algorithm='http://www.w3.org/TR/2001/REC-xml-c14n-20010315',
reference_uri='#NFe41150715380524000122651010000000271333611649')
#verified_data = signer.verify(require_x509=True, ca_pem_file="cert.pem")
e = etree.tostring(signer.data)
open("testesig.xml", "wb").write(e)
def assinar_etree(self, raiz, retorna_xml=False):
# Extrai a tag do elemento raiz
tipo = extrair_tag(raiz.getroot())
@ -219,7 +240,7 @@ class AssinaturaA1(Assinatura):
noh_assinatura = ctxt.xpathEval(u'//*/sig:Signature')[0]
# Buscamos a chave no arquivo do certificado
chave = xmlsec.CryptoAppKeyLoad(
chave = xmlsec.cryptoAppKeyLoad(
filename=str(self.certificado.caminho_arquivo),
format=xmlsec.KeyDataFormatPkcs12,
pwd=str(self.senha),

12
pynfe/utils/__init__.py

@ -28,10 +28,16 @@ except ImportError:
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
import flags
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
try:
import flags
except ImportError:
pass
#raise Exception('Falhou ao importar flags')
# from geraldo.utils import memoize

4
test.py

@ -65,7 +65,7 @@ nota_fiscal = NotaFiscal(
numero_nf='1',
data_emissao=datetime.datetime.now(),
data_saida_entrada=datetime.datetime.now(),
hora_saida_entrada=datetime.time(03,12,00),
#hora_saida_entrada=datetime.time(03,12,00),
tipo_documento=1,
municipio='4118402',
tipo_impressao_danfe=1, # nfce 4
@ -110,7 +110,7 @@ certificado = '/home/junior/Projetos/falcao/doc/JC FERRAGENS S=12345678.pfx'
senha = '12345328'
# assinatura
a = AssinaturaA1(certificado, senha)
print a.assinar_xml(xml)
print (a.assinar_nfe(xml))
#print serializador._serializar_nota_fiscal(nota_fiscal)
Loading…
Cancel
Save