mirror of https://github.com/interlegis/sapl.git
ulyssesBML
5 years ago
2 changed files with 37 additions and 2 deletions
@ -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…
Reference in new issue