diff --git a/pynfe/entidades/base.py b/pynfe/entidades/base.py index 152f0ea..9f82806 100644 --- a/pynfe/entidades/base.py +++ b/pynfe/entidades/base.py @@ -11,7 +11,7 @@ class Entidade(object): # Adiciona o objeto à fonte de dados informada 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.adicionar_objeto(self) diff --git a/pynfe/entidades/fonte_dados.py b/pynfe/entidades/fonte_dados.py index 8db5ddf..973c6c0 100644 --- a/pynfe/entidades/fonte_dados.py +++ b/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 repositorio de objetos da fonte de dados.""" - from base import Entidade + from .base import Entidade # Adiciona _objeto como objeto if isinstance(_objeto, Entidade): diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index 8cc7225..16ee83e 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -27,7 +27,7 @@ class Serializacao(object): if cls == Serializacao: raise Exception('Esta classe nao pode ser instanciada diretamente!') else: - return super(Serializacao, cls).__new__(cls, *args, **kwargs) + return super(Serializacao, cls).__new__(cls) def __init__(self, fonte_dados, homologacao=False): 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 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 - 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, '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, 'tpImp').text = str(nota_fiscal.tipo_impressao_danfe) etree.SubElement(ide, 'tpEmis').text = str(nota_fiscal.forma_emissao) diff --git a/pynfe/utils/__init__.py b/pynfe/utils/__init__.py index 17ea422..529c66a 100644 --- a/pynfe/utils/__init__.py +++ b/pynfe/utils/__init__.py @@ -31,7 +31,7 @@ except ImportError: try: from StringIO import StringIO except ImportError: - from io import StringIO + from io import StringIO try: import flags @@ -74,7 +74,7 @@ CARACTERS_ACENTUADOS = { # @memoize def normalizar_municipio(municipio): - if not isinstance(municipio, unicode): + if not isinstance(municipio, str): municipio = municipio.decode('utf-8') return municipio.lower().translate(CARACTERS_ACENTUADOS).upper() @@ -82,7 +82,7 @@ def normalizar_municipio(municipio): # @memoize def carregar_arquivo_municipios(uf, reverso=False): - if isinstance(uf, basestring): + if isinstance(uf, str): try: uf = int(uf) except ValueError: diff --git a/test.py b/test.py index 7c07a31..33118e4 100644 --- a/test.py +++ b/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) descricao='Assinatura Rolling Stone', ncm='49029000', # categoria international do prod (sempre esse para assinaturas) - cfop='6922', + cfop='6922', 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_total_bruto=Decimal('117.00'), 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) xml= serializador.exportar(retorna_string=True) -arquivo = file('nota1.xml', 'w') +arquivo = open('nota1.xml', 'wb') arquivo.write(xml) certificado = '/home/junior/Projetos/falcao/doc/JC FERRAGENS S=12345678.pfx' senha = '12345328' @@ -113,4 +113,3 @@ a = AssinaturaA1(certificado, senha) print (a.assinar_nfe(xml)) #print serializador._serializar_nota_fiscal(nota_fiscal) -