From 3a951980abe09832c865bab860299546555f31ac Mon Sep 17 00:00:00 2001 From: Sergio Oliveira Date: Thu, 18 Oct 2012 16:01:01 -0300 Subject: [PATCH] Accept either uf or uf_ibge code for state --- pynfe/processamento/serializacao.py | 6 +++--- pynfe/utils/__init__.py | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pynfe/processamento/serializacao.py b/pynfe/processamento/serializacao.py index ea4768e..e3f3c87 100644 --- a/pynfe/processamento/serializacao.py +++ b/pynfe/processamento/serializacao.py @@ -8,7 +8,7 @@ from pynfe.entidades import Emitente, Cliente, Produto, Transportadora, NotaFisc from pynfe.excecoes import NenhumObjetoEncontrado, MuitosObjetosEncontrados from pynfe.utils import etree, so_numeros, obter_municipio_por_codigo, \ obter_pais_por_codigo, obter_municipio_e_codigo, \ - formatar_decimal, safe_str + formatar_decimal, safe_str, obter_uf_por_codigo from pynfe.utils.flags import CODIGOS_ESTADOS, VERSAO_PADRAO class Serializacao(object): @@ -377,7 +377,7 @@ class SerializacaoPipes(Serializacao): emitente.endereco_bairro, cod_municipio, municipio, - emitente.endereco_uf, + obter_uf_por_codigo(emitente.endereco_uf), emitente.endereco_cep.replace('-',''), emitente.endereco_pais, obter_pais_por_codigo(emitente.endereco_pais), @@ -410,7 +410,7 @@ class SerializacaoPipes(Serializacao): cliente.endereco_bairro, cod_municipio, municipio, - cliente.endereco_uf, + obter_uf_por_codigo(cliente.endereco_uf), cliente.endereco_cep.replace('-',''), cliente.endereco_pais, obter_pais_por_codigo(cliente.endereco_pais), diff --git a/pynfe/utils/__init__.py b/pynfe/utils/__init__.py index 8515b3f..b257ccc 100644 --- a/pynfe/utils/__init__.py +++ b/pynfe/utils/__init__.py @@ -143,3 +143,11 @@ def safe_str(str_): else: str_ = unicode(str_) return unicodedata.normalize('NFKD', str_).encode('ascii', 'ignore') + + +def obter_uf_por_codigo(codigo_uf): + if isinstance(codigo_uf, basestring): + return codigo_uf + + estados = {v: k for k, v in flags.CODIGOS_ESTADOS.items()} + return estados[unicode(codigo_uf)]