Browse Source

ajuste para python 3

pull/1/head
Junior Tada 11 years ago
parent
commit
0f57086b91
  1. 2
      pynfe/entidades/base.py
  2. 2
      pynfe/entidades/fonte_dados.py
  3. 6
      pynfe/processamento/serializacao.py
  4. 6
      pynfe/utils/__init__.py
  5. 7
      test.py

2
pynfe/entidades/base.py

@ -11,7 +11,7 @@ class Entidade(object):
# Adiciona o objeto à fonte de dados informada # Adiciona o objeto à fonte de dados informada
if not self._fonte_dados: if not self._fonte_dados:
from fonte_dados import _fonte_dados
from .fonte_dados import _fonte_dados
self._fonte_dados = _fonte_dados self._fonte_dados = _fonte_dados
self._fonte_dados.adicionar_objeto(self) self._fonte_dados.adicionar_objeto(self)

2
pynfe/entidades/fonte_dados.py

@ -49,7 +49,7 @@ class FonteDados(object):
u"""Método responsável por adicionar o(s) objeto(s) informado(s) ao u"""Método responsável por adicionar o(s) objeto(s) informado(s) ao
repositorio de objetos da fonte de dados.""" repositorio de objetos da fonte de dados."""
from base import Entidade
from .base import Entidade
# Adiciona _objeto como objeto # Adiciona _objeto como objeto
if isinstance(_objeto, Entidade): if isinstance(_objeto, Entidade):

6
pynfe/processamento/serializacao.py

@ -27,7 +27,7 @@ class Serializacao(object):
if cls == Serializacao: if cls == Serializacao:
raise Exception('Esta classe nao pode ser instanciada diretamente!') raise Exception('Esta classe nao pode ser instanciada diretamente!')
else: else:
return super(Serializacao, cls).__new__(cls, *args, **kwargs)
return super(Serializacao, cls).__new__(cls)
def __init__(self, fonte_dados, homologacao=False): def __init__(self, fonte_dados, homologacao=False):
self._fonte_dados = fonte_dados self._fonte_dados = fonte_dados
@ -247,10 +247,10 @@ class SerializacaoXML(Serializacao):
"""dhCont Data e Hora da entrada em contingência E B01 D 0-1 Formato AAAA-MM-DDThh:mm:ssTZD (UTC - Universal """dhCont Data e Hora da entrada em contingência E B01 D 0-1 Formato AAAA-MM-DDThh:mm:ssTZD (UTC - Universal
Coordinated Time) Coordinated Time)
Exemplo: no formato UTC para os campos de Data-Hora, "TZD" pode ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00 (Manaus), no Exemplo: no formato UTC para os campos de Data-Hora, "TZD" pode ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00 (Manaus), no
horário de verão serão -01:00, -02:00 e -03:00. Exemplo: "2010-08-19T13:00:15-03:00".
horário de verão serão -01:00, -02:00 e -03:00. Exemplo: "2010-08-19T13:00:15-03:00".
""" """
etree.SubElement(ide, 'tpNF').text = str(nota_fiscal.tipo_documento) # 0=entrada 1=saida etree.SubElement(ide, 'tpNF').text = str(nota_fiscal.tipo_documento) # 0=entrada 1=saida
etree.SubElement(ide, 'idDest').text = str(1) # Identificador de local de destino da operação 1=Operação interna;2=Operação interestadual;3=Operação com exterior.
etree.SubElement(ide, 'idDest').text = str(1) # Identificador de local de destino da operação 1=Operação interna;2=Operação interestadual;3=Operação com exterior.
etree.SubElement(ide, 'cMunFG').text = nota_fiscal.municipio etree.SubElement(ide, 'cMunFG').text = nota_fiscal.municipio
etree.SubElement(ide, 'tpImp').text = str(nota_fiscal.tipo_impressao_danfe) etree.SubElement(ide, 'tpImp').text = str(nota_fiscal.tipo_impressao_danfe)
etree.SubElement(ide, 'tpEmis').text = str(nota_fiscal.forma_emissao) etree.SubElement(ide, 'tpEmis').text = str(nota_fiscal.forma_emissao)

6
pynfe/utils/__init__.py

@ -31,7 +31,7 @@ except ImportError:
try: try:
from StringIO import StringIO from StringIO import StringIO
except ImportError: except ImportError:
from io import StringIO
from io import StringIO
try: try:
import flags import flags
@ -74,7 +74,7 @@ CARACTERS_ACENTUADOS = {
# @memoize # @memoize
def normalizar_municipio(municipio): def normalizar_municipio(municipio):
if not isinstance(municipio, unicode):
if not isinstance(municipio, str):
municipio = municipio.decode('utf-8') municipio = municipio.decode('utf-8')
return municipio.lower().translate(CARACTERS_ACENTUADOS).upper() return municipio.lower().translate(CARACTERS_ACENTUADOS).upper()
@ -82,7 +82,7 @@ def normalizar_municipio(municipio):
# @memoize # @memoize
def carregar_arquivo_municipios(uf, reverso=False): def carregar_arquivo_municipios(uf, reverso=False):
if isinstance(uf, basestring):
if isinstance(uf, str):
try: try:
uf = int(uf) uf = int(uf)
except ValueError: except ValueError:

7
test.py

@ -79,9 +79,9 @@ nota_fiscal = NotaFiscal(
nota_fiscal.adicionar_produto_servico(codigo='000328', # id do produto (000328 era o id no antigo sistemas de assinatura) nota_fiscal.adicionar_produto_servico(codigo='000328', # id do produto (000328 era o id no antigo sistemas de assinatura)
descricao='Assinatura Rolling Stone', descricao='Assinatura Rolling Stone',
ncm='49029000', # categoria international do prod (sempre esse para assinaturas) ncm='49029000', # categoria international do prod (sempre esse para assinaturas)
cfop='6922',
cfop='6922',
unidade_comercial='UN', unidade_comercial='UN',
quantidade_comercial=Decimal('12'), # 12 unidades (12 revistas)
quantidade_comercial=Decimal('12'), # 12 unidades (12 revistas)
valor_unitario_comercial=Decimal('9.75'), valor_unitario_comercial=Decimal('9.75'),
valor_total_bruto=Decimal('117.00'), valor_total_bruto=Decimal('117.00'),
unidade_tributavel='UN', unidade_tributavel='UN',
@ -104,7 +104,7 @@ nota_fiscal.adicionar_produto_servico(codigo='000328', # id do produto (000328 e
serializador = SerializacaoXML(_fonte_dados, homologacao=True) serializador = SerializacaoXML(_fonte_dados, homologacao=True)
xml= serializador.exportar(retorna_string=True) xml= serializador.exportar(retorna_string=True)
arquivo = file('nota1.xml', 'w')
arquivo = open('nota1.xml', 'wb')
arquivo.write(xml) arquivo.write(xml)
certificado = '/home/junior/Projetos/falcao/doc/JC FERRAGENS S=12345678.pfx' certificado = '/home/junior/Projetos/falcao/doc/JC FERRAGENS S=12345678.pfx'
senha = '12345328' senha = '12345328'
@ -113,4 +113,3 @@ a = AssinaturaA1(certificado, senha)
print (a.assinar_nfe(xml)) print (a.assinar_nfe(xml))
#print serializador._serializar_nota_fiscal(nota_fiscal) #print serializador._serializar_nota_fiscal(nota_fiscal)
Loading…
Cancel
Save