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

Loading…
Cancel
Save