Browse Source

HOT-FIX - Subindo script para criar hash de recebimento de proposição sem recibo

pull/3218/head
ulyssesBML 5 years ago
parent
commit
cf2f461b3f
  1. 2
      sapl/base/views.py
  2. 35
      scripts/gerar_hash_proposicoes.py

2
sapl/base/views.py

@ -2084,11 +2084,11 @@ class AppConfigCrud(CrudAux):
return super().form_valid(form)
def gerar_hash(self, inst):
inst.save()
if inst.texto_original:
try:
inst.hash_code = gerar_hash_arquivo(
inst.texto_original.path, str(inst.pk))
inst.save()
except IOError:
raise ValidationError("Existem proposicoes com arquivos inexistentes.")
elif inst.texto_articulado.exists():

35
scripts/gerar_hash_proposicoes.py

@ -0,0 +1,35 @@
# Gerar hash de proposições para recebimento sem recibo
from sapl.materia.models import Proposicao
from sapl.utils import gerar_hash_arquivo, SEPARADOR_HASH_PROPOSICAO
from datetime import datetime
def gerar_hash(proposicao):
if proposicao.texto_original:
try:
proposicao.hash_code = gerar_hash_arquivo(
proposicao.texto_original.path, str(proposicao.pk))
except IOError:
raise Exception("Existem proposicoes com arquivos inexistentes.")
elif proposicao.texto_articulado.exists():
ta = proposicao.texto_articulado.first()
proposicao.hash_code = 'P' + ta.hash() + SEPARADOR_HASH_PROPOSICAO + str(proposicao.pk)
print(proposicao.hash_code)
proposicao.save()
def gerar_hash_proposicoes():
di = datetime.now()
print(di)
props = Proposicao.objects.filter(hash_code='').exclude(data_envio__isnull=True)
print("Total de proposicoes: %s" % props.count())
for prop in props:
try:
print(".",end="")
gerar_hash(prop)
except Exception as e:
print('Erro para proposicao', prop)
print(e)
elapsed = datetime.now() - di
print("\n {}s".format(elapsed.seconds))
Loading…
Cancel
Save