Browse Source

Redirecionando autores

deduplica_comissao
ulyssesBML 5 years ago
parent
commit
7967aa764a
  1. 25
      scripts/deduplica_comissao.py

25
scripts/deduplica_comissao.py

@ -1,10 +1,10 @@
from sapl.comissoes.models import Comissao, Composicao
from sapl.comissoes.models import Comissao, Composicao, Reuniao
from sapl.materia.models import DespachoInicial, Relatoria, UnidadeTramitacao
from difflib import SequenceMatcher
models_dependentes = [Composicao, DespachoInicial, Relatoria, UnidadeTramitacao]
models_dependentes = [Composicao, DespachoInicial, Relatoria, UnidadeTramitacao, Reuniao]
def similar(a, b):
return SequenceMatcher(None, a, b).ratio()
@ -24,14 +24,23 @@ def detecta_duplicados():
lst_duplicados.append(c_1_lst)
return lst_duplicados
def muda_autor(principal, secundaria):
for autor in secundaria.autor.all():
autor.delete()
def muda_models_dependentes(principal,secundaria):
for model in models_dependentes:
for obj in model.objects.filter(comissao=secundaria):
obj.comissao = principal
obj.save()
def junta_dulpicados(duplicados):
principal = duplicados[-1]
for c in duplicados[:-1]:
for m in models_dependentes:
for obj in m.objects.filter(comissao=c):
obj.comissao = principal
obj.save()
c.delete()
for secundaria in duplicados[:-1]:
muda_models_dependentes(principal,secundaria)
muda_autor(principal, secundaria)
secundaria.delete()
def main():

Loading…
Cancel
Save