Sistema de Apoio ao Processo Legislativo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.2 KiB

# 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))