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.

76 lines
2.6 KiB

# -*- coding: utf-8 -*-
# Dependência:
# pip install terminaltables
from os.path import isfile
from datetime import datetime
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
from terminaltables import AsciiTable
from sigi.apps.casas.models import CasaLegislativa
from sigi.apps.convenios.models import Anexo as AnexoConvenios
from sigi.apps.diagnosticos.models import Anexo as AnexoDiagnosticos
from sigi.apps.ocorrencias.models import Anexo as AnexoOcorrencias
from sigi.apps.parlamentares.models import Parlamentar
from sigi.apps.servidores.models import Servidor
def print_table(msg, relacao):
print "\n%s:\n" % msg
table = AsciiTable([[c for c in r if isinstance(c, basestring)] for r in relacao])
print table.table
def url(obj):
content_type = ContentType.objects.get_for_model(obj.__class__)
url_base = "admin:%s_%s_change" % (content_type.app_label, content_type.model)
return reverse(url_base, args=(obj.pk,))
# IMAGENS FALTANDO
imagens_faltando = [[u"SITUAÇÃO DO ARQUIVO DA FOTO ", "URL", "OBJETO"]]
for cl in (CasaLegislativa, Parlamentar, Servidor):
for a in cl.objects.all():
if a.foto:
imagens_faltando.append([
a,
"PRESENTE" if isfile(a.foto.path) else "FALTANDO",
url(a),
unicode(a)])
print_table(u"Relação de todas as fotos de Casas Legislativas, Parlamentares e Servidores", imagens_faltando)
# ANEXOS FALTANDO
novos_faltando = []
antigos_faltando = []
inicio = datetime(2014, 9, 1)
for cl in (AnexoConvenios, AnexoOcorrencias, AnexoDiagnosticos):
for a in cl.objects.all():
if not isfile(a.arquivo.path):
nome = a.arquivo.name.split('/')[-1]
if a.data_pub > inicio:
# NOVO (só ocorrencias)
novos_faltando.append([
a,
url(a.ocorrencia),
a.ocorrencia.casa_legislativa.municipio.uf.sigla,
nome, ])
else:
# ANTIGO (só convenios)
antigos_faltando.append([
a,
url(a.convenio),
a.arquivo.name.split('/')[-1],
str(a.data_pub.date())])
novos_faltando = [[u"URL DA OCORRÊNCIA", "UF", "NOME DO ARQUIVO"]] + sorted(novos_faltando)
antigos_faltando = [[u'URL DO CONVÊNIO', 'NOME DO ARQUIVO', 'DATA']] + sorted(antigos_faltando)
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)