Browse Source

Funcao helper para pegar municipio

tags/0.1
Sergio Oliveira 13 years ago
parent
commit
e0dcda3dd3
  1. 19
      pynfe/processamento/serializacao.py
  2. 12
      pynfe/utils/__init__.py

19
pynfe/processamento/serializacao.py

@ -6,7 +6,7 @@ except:
from pynfe.entidades import Emitente, Cliente, Produto, Transportadora, NotaFiscal from pynfe.entidades import Emitente, Cliente, Produto, Transportadora, NotaFiscal
from pynfe.excecoes import NenhumObjetoEncontrado, MuitosObjetosEncontrados from pynfe.excecoes import NenhumObjetoEncontrado, MuitosObjetosEncontrados
from pynfe.utils import etree, so_numeros, obter_municipio_por_codigo, obter_pais_por_codigo, obter_codigo_por_municipio
from pynfe.utils import etree, so_numeros, obter_municipio_por_codigo, obter_pais_por_codigo, obter_municipio_e_codigo
from pynfe.utils.flags import CODIGOS_ESTADOS, VERSAO_PADRAO from pynfe.utils.flags import CODIGOS_ESTADOS, VERSAO_PADRAO
class Serializacao(object): class Serializacao(object):
@ -352,18 +352,9 @@ class SerializacaoPipes(Serializacao):
def _serializar_emitente(self, emitente): def _serializar_emitente(self, emitente):
try:
cod_municipio = int(emitente.endereco_municipio)
except ValueError:
cod_municipio = obter_codigo_por_municipio(
emitente.endereco_municipio,
emitente.endereco_uf
)
municipio = obter_municipio_por_codigo(
cod_municipio,
emitente.endereco_uf,
normalizado=True,
cod_municipio, municipio = obter_municipio_e_codigo(
emitente.endereco_municipio,
emitente.endereco_uf
) )
serial_emitente_list = [ serial_emitente_list = [
@ -394,3 +385,5 @@ class SerializacaoPipes(Serializacao):
return '|'.join(serial_emitente_list) return '|'.join(serial_emitente_list)
def _serializar_cliente(self, cliente):
pass

12
pynfe/utils/__init__.py

@ -110,6 +110,16 @@ def obter_municipio_por_codigo(codigo, uf, normalizado=False):
return municipio return municipio
@memoize @memoize
def obter_municipio_e_codigo(municipio_ou_codigo, uf):
try:
cod_municipio = int(municipio_ou_codigo)
except ValueError:
cod_municipio = obter_codigo_por_municipio(municipio_ou_codigo, uf)
municipio = obter_municipio_por_codigo(cod_municipio, uf, normalizado=True)
return cod_municipio, municipio
@memoize
def extrair_tag(root): def extrair_tag(root):
return root.tag.split('}')[-1] return root.tag.split('}')[-1]
Loading…
Cancel
Save