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 -*-
9 years ago
from datetime import datetime
# Dependência:
# pip install terminaltables
from os.path import isfile
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
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
9 years ago
from terminaltables import AsciiTable
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)