@@ -58,6 +58,19 @@ def _get_estado_info(db, sigla):
5858 return db .get_one_uf (sigla , fields = {'_id' : False , 'sigla' : False })
5959
6060
61+ def _get_cidade_info (db , sigla_uf , nome_cidade ):
62+ sigla_uf = sigla_uf .upper ()
63+ sigla_uf_nome_cidade = '%s_%s' % (sigla_uf , nome_cidade )
64+ fields = {
65+ '_id' : False ,
66+ 'sigla_uf' : False ,
67+ 'codigo_ibge_uf' : False ,
68+ 'sigla_uf_nome_cidade' : False ,
69+ 'nome' : False
70+ }
71+ return db .get_one_cidade (sigla_uf_nome_cidade , fields = fields )
72+
73+
6174@route ('/cep/<cep:re:\d{5}-?\d{3}>' )
6275@app_v1 .route ('/cep/<cep:re:\d{5}-?\d{3}>' )
6376def verifica_cep (cep ):
@@ -84,9 +97,14 @@ def verifica_cep(cep):
8497
8598 if result :
8699 response .headers ['Cache-Control' ] = 'public, max-age=2592000'
87- estado_info = _get_estado_info (db , result ['estado' ])
100+ sigla_uf = result ['estado' ]
101+ estado_info = _get_estado_info (db , sigla_uf )
88102 if estado_info :
89103 result ['estado_info' ] = estado_info
104+ nome_cidade = result ['cidade' ]
105+ cidade_info = _get_cidade_info (db , sigla_uf , nome_cidade )
106+ if cidade_info :
107+ result ['cidade_info' ] = cidade_info
90108 return format_result (result )
91109 else :
92110 response .status = '404 O CEP %s informado nao pode ser '
0 commit comments