Sistema de Informações Gerenciais do Interlegis
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.

48 lines
1.6 KiB

# -*- coding: utf-8 -*-
# Dependência:
# pip install terminaltables
from terminaltables import AsciiTable
from datetime import datetime
from os.path import isfile
from sigi.apps.convenios.models import Anexo as AnexoConvenios
from sigi.apps.ocorrencias.models import Anexo as AnexoOcorrencias
from sigi.apps.diagnosticos.models import Anexo as AnexoDiagnosticos
novos_faltando = []
antigos_faltando = []
inicio = datetime(2014, 9, 1)
for cl in (AnexoConvenios, AnexoOcorrencias, AnexoDiagnosticos):
todos = cl.objects.all()
for a in todos:
if not isfile(a.arquivo.path):
nome = a.arquivo.name.split('/')[-1]
if a.data_pub > inicio:
# NOVO (só ocorrencias)
novos_faltando.append([
a.ocorrencia.casa_legislativa.municipio.uf.sigla,
nome, ])
else:
# ANTIGO (só convenios)
antigos_faltando.append([
"https://sigi.interlegis.leg.br/convenios/convenio/%s" % a.convenio.id,
a.arquivo.name.split('/')[-1],
str(a.data_pub.date())])
novos_faltando = [["UF", "Arquivo"]] + sorted(novos_faltando)
antigos_faltando = [['URL DO CONVENIO', 'NOME DO ARQUIVO', 'DATA']] + sorted(antigos_faltando)
def print_table(msg, relacao):
print "\n%s:\n" % msg
table = AsciiTable(relacao)
print table.table
print_table(u'Anexos de Novas Ocorrências faltando (desde %s)' % inicio, novos_faltando)
print_table(u'Anexos de Convênios Antigos faltando (até %s)' % inicio, antigos_faltando)