Madras1 commited on
Commit
f4c2765
·
verified ·
1 Parent(s): 595485e

Upload 58 files

Browse files
Files changed (1) hide show
  1. app/services/tse_api.py +34 -28
app/services/tse_api.py CHANGED
@@ -227,38 +227,44 @@ async def buscar_politico(nome: str) -> Dict[str, Any]:
227
  "ufs": set()
228
  }
229
 
230
- # Search in recent elections
231
  for ano in [2024, 2022, 2020, 2018]:
232
- candidatos = await buscar_candidatos(nome, ano=ano)
233
-
234
- for c in candidatos:
235
- if nome.lower() in c.nome.lower():
236
- resultado["encontrado"] = True
237
- resultado["candidaturas"].append({
238
- "ano": ano,
239
- "cargo": c.cargo,
240
- "partido": c.partido_sigla,
241
- "uf": c.uf,
242
- "situacao": c.situacao,
243
- "patrimonio": c.total_bens
244
- })
245
-
246
- if c.partido_sigla:
247
- resultado["partidos"].add(c.partido_sigla)
248
- if c.uf:
249
- resultado["ufs"].add(c.uf)
250
-
251
- if c.total_bens > resultado["total_patrimonio"]:
252
- resultado["total_patrimonio"] = c.total_bens
253
-
254
- if not resultado["ultimo_cargo"]:
255
- resultado["ultimo_cargo"] = f"{c.cargo} ({ano})"
256
-
257
- if resultado["encontrado"]:
258
- break # Found in most recent election
 
 
 
259
 
260
  # Convert sets to lists for JSON
261
  resultado["partidos"] = list(resultado["partidos"])
262
  resultado["ufs"] = list(resultado["ufs"])
263
 
 
 
264
  return resultado
 
 
227
  "ufs": set()
228
  }
229
 
230
+ # Search in recent elections - continue through ALL years
231
  for ano in [2024, 2022, 2020, 2018]:
232
+ try:
233
+ candidatos = await buscar_candidatos(nome, ano=ano)
234
+ print(f"TSE: Buscando '{nome}' em {ano} - encontrados: {len(candidatos)}")
235
+
236
+ for c in candidatos:
237
+ # Match if nome is in the candidate's full name
238
+ if nome.lower() in c.nome.lower() or nome.lower() in c.nome_urna.lower():
239
+ resultado["encontrado"] = True
240
+ resultado["candidaturas"].append({
241
+ "ano": ano,
242
+ "cargo": c.cargo,
243
+ "partido": c.partido_sigla,
244
+ "uf": c.uf,
245
+ "situacao": c.situacao,
246
+ "patrimonio": c.total_bens
247
+ })
248
+
249
+ if c.partido_sigla:
250
+ resultado["partidos"].add(c.partido_sigla)
251
+ if c.uf:
252
+ resultado["ufs"].add(c.uf)
253
+
254
+ if c.total_bens > resultado["total_patrimonio"]:
255
+ resultado["total_patrimonio"] = c.total_bens
256
+
257
+ if not resultado["ultimo_cargo"]:
258
+ resultado["ultimo_cargo"] = f"{c.cargo} ({ano})"
259
+ except Exception as e:
260
+ print(f"TSE search {ano} error: {e}")
261
+ continue
262
 
263
  # Convert sets to lists for JSON
264
  resultado["partidos"] = list(resultado["partidos"])
265
  resultado["ufs"] = list(resultado["ufs"])
266
 
267
+ print(f"TSE resultado para '{nome}': encontrado={resultado['encontrado']}, candidaturas={len(resultado['candidaturas'])}")
268
+
269
  return resultado
270
+