# 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='', data_recebimento__isnull=True).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))