|
|
|
@ -116,23 +116,31 @@ def obter_municipio_por_codigo(codigo, uf, normalizado=False): |
|
|
|
# TODO: fazer UF ser opcional |
|
|
|
municipios = carregar_arquivo_municipios(uf) |
|
|
|
municipio = municipios.get(unicode(codigo)) |
|
|
|
if municipio is None: |
|
|
|
raise ValueError |
|
|
|
if normalizado: |
|
|
|
return normalizar_municipio(municipio) |
|
|
|
|
|
|
|
return municipio |
|
|
|
|
|
|
|
|
|
|
|
# @memoize |
|
|
|
def obter_municipio_e_codigo(municipio_ou_codigo, uf): |
|
|
|
def obter_municipio_e_codigo(dados, uf): |
|
|
|
'''Retorna código e município |
|
|
|
municipio_ou_codigo - espera receber um dicionário no formato: |
|
|
|
{codigo: 121212, municipio: u'municipio'} |
|
|
|
''' |
|
|
|
|
|
|
|
cod = dados.get('codigo', '') |
|
|
|
mun = normalizar_municipio(dados.get('municipio', '')) |
|
|
|
try: |
|
|
|
cod_municipio = int(municipio_ou_codigo) |
|
|
|
cod = int(cod) |
|
|
|
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 |
|
|
|
|
|
|
|
cod = obter_codigo_por_municipio(mun, uf) |
|
|
|
# TODO: se ainda com este teste apresentar erros de nessa seção |
|
|
|
# desenvolver um retorno que informe ao cliente quais nfes estão com erro |
|
|
|
# e não explodir esse a geração das outras nfes |
|
|
|
municipio = obter_municipio_por_codigo(cod, uf, normalizado=True) |
|
|
|
return cod, municipio |
|
|
|
|
|
|
|
# @memoize |
|
|
|
def extrair_tag(root): |
|
|
|
|