From 0ffc8f64bdde7068da5eea8ba21e1a07456a4b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Mon, 8 Apr 2019 15:23:40 -0300 Subject: [PATCH] Corrige try/except --- scripts/remove_multiplos_parlamentares.py | 26 +++++++++++++++-------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/scripts/remove_multiplos_parlamentares.py b/scripts/remove_multiplos_parlamentares.py index 72268d8bd..7e322706b 100644 --- a/scripts/remove_multiplos_parlamentares.py +++ b/scripts/remove_multiplos_parlamentares.py @@ -82,31 +82,39 @@ def transfer_purge_congressman(congressman_lists): for pk in congressman_list[1:]: parlamentar_clonado = Parlamentar.objects.get(pk=pk) if parlamentar_principal.biografia and parlamentar_clonado.biografia: - parlamentar_principal.biografia += \ - f'{parlamentar_principal.biografia}\n\n------------------------\n\n{parlamentar_clonado.biografia}' + parlamentar_principal.biografia = \ + f'{parlamentar_principal.biografia}' \ + f'\n\n------------------------\n\n' \ + f'{parlamentar_clonado.biografia}' + parlamentar_principal.save() elif parlamentar_clonado.biografia: parlamentar_principal.biografia = parlamentar_clonado.biografia for model in models: for obj in model.objects.filter(parlamentar_id=pk): - # TODO: Validar objeto para não repeti-lo no parlamentar principal obj.parlamentar_id = congressman_list[0] obj.save() - # TODO: Arrumar try/except # TODO: Transferir para função de autor try: autor_principal = Autor.objects.get(parlamentar_set=parlamentar_principal) - autor_clonado = Autor.objects.get(parlamentar_set=parlamentar_clonado) - for autoria in Autoria.objects.filter(autor=autor_clonado): - autoria.autor = autor_principal - autoria.save() except ObjectDoesNotExist: try: autor_clonado = Autor.objects.get(parlamentar_set=parlamentar_clonado) - parlamentar_principal.autor = autor_clonado except ObjectDoesNotExist: pass + else: + autor_clonado.object_id = parlamentar_principal.id + autor_clonado.save() + else: + try: + autor_clonado = Autor.objects.get(parlamentar_set=parlamentar_clonado) + except ObjectDoesNotExist: + pass + else: + for autoria in Autoria.objects.filter(autor=autor_clonado): + autoria.autor = autor_principal + autoria.save() parlamentar_clonado.delete()