Browse Source

Adjust pep8 errors

Used:
autopep8 --in-place --exclude migrations -r .
pull/6/head
Marcio Mazza 10 years ago
parent
commit
f7910c41c2
  1. 13
      painel/urls.py
  2. 59
      painel/views.py

13
painel/urls.py

@ -1,11 +1,12 @@
from django.conf.urls import include, url from django.conf.urls import include, url
from . views import (json_presenca, json_votacao, painel_view, painel_parlamentares_view, painel_votacao_view) from . views import (json_presenca, json_votacao, painel_view,
painel_parlamentares_view, painel_votacao_view)
urlpatterns = [ urlpatterns = [
url(r'^sistema/painel$', painel_view), url(r'^sistema/painel$', painel_view),
url(r'^sistema/painel/parlamentares', painel_parlamentares_view), url(r'^sistema/painel/parlamentares', painel_parlamentares_view),
url(r'^sistema/painel/votacao', painel_votacao_view), url(r'^sistema/painel/votacao', painel_votacao_view),
url(r'^sistema/painel/json_presenca', json_presenca, name='json_presenca'), url(r'^sistema/painel/json_presenca', json_presenca, name='json_presenca'),
url(r'^sistema/painel/json_votacao', json_votacao, name='json_votacao'), url(r'^sistema/painel/json_votacao', json_votacao, name='json_votacao'),
] ]

59
painel/views.py

@ -9,48 +9,56 @@ from parlamentares.models import Parlamentar
from parlamentares.models import Filiacao from parlamentares.models import Filiacao
from sessao.models import SessaoPlenaria, SessaoPlenariaPresenca, PresencaOrdemDia, RegistroVotacao, VotoParlamentar, OrdemDia, PresencaOrdemDia from sessao.models import SessaoPlenaria, SessaoPlenariaPresenca, PresencaOrdemDia, RegistroVotacao, VotoParlamentar, OrdemDia, PresencaOrdemDia
# REST web services # REST web services
def json_presenca(request): def json_presenca(request):
presencas = PresencaOrdemDia.objects.filter(sessao_plenaria_id = 50) presencas = PresencaOrdemDia.objects.filter(sessao_plenaria_id=50)
parlamentares = [] parlamentares = []
for p in presencas: for p in presencas:
parlamentares.append(p.parlamentar) parlamentares.append(p.parlamentar)
#parlamentares = serializers.serialize('json', Parlamentar.objects.all()) #parlamentares = serializers.serialize('json', Parlamentar.objects.all())
parlamentares = serializers.serialize('json', parlamentares) parlamentares = serializers.serialize('json', parlamentares)
return HttpResponse(parlamentares, content_type='application/json') return HttpResponse(parlamentares, content_type='application/json')
#return JsonResponse(data) # work with python dict # return JsonResponse(data) # work with python dict
#TODO: make this response non cacheable, probably on jQuery site, but check Django too #TODO: make this response non cacheable, probably on jQuery site, but check Django too
#TODO: reduce number of database query hits by means of QuerySet wizardry. #TODO: reduce number of database query hits by means of QuerySet wizardry.
def json_votacao(request): def json_votacao(request):
#TODO: se tentar usar objects.get(ordem_id = 104 ocorre a msg: 'RegistroVotacao' object does not support indexing # TODO: se tentar usar objects.get(ordem_id = 104 ocorre a msg: 'RegistroVotacao' object does not support indexing
#TODO; tratar o caso de vir vazio # TODO; tratar o caso de vir vazio
votacao = RegistroVotacao.objects.filter(ordem_id = 104)[0] votacao = RegistroVotacao.objects.filter(ordem_id=104)[0]
# Magic! http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key # Magic!
voto_parlamentar = VotoParlamentar.objects.filter(votacao__ordem__id = 140) # http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key
voto_parlamentar = VotoParlamentar.objects.filter(votacao__ordem__id=140)
ordem_dia = OrdemDia.objects.get(id = 104) ordem_dia = OrdemDia.objects.get(id=104)
sessaoplenaria_id = ordem_dia.sessao_plenaria_id sessaoplenaria_id = ordem_dia.sessao_plenaria_id
sessao_plenaria = SessaoPlenaria.objects.get(id = sessaoplenaria_id) sessao_plenaria = SessaoPlenaria.objects.get(id=sessaoplenaria_id)
# Pra recuperar o partido do parlamentar tem que fazer OUTRA query, deve ter uma # Pra recuperar o partido do parlamentar tem que fazer OUTRA query, deve ter uma
# forma de fazer isso na base do join de data models. # forma de fazer isso na base do join de data models.
filiacao = Filiacao.objects.filter(data_desfiliacao__isnull=True) filiacao = Filiacao.objects.filter(data_desfiliacao__isnull=True)
map = {} map = {}
for f in filiacao: for f in filiacao:
map[f.parlamentar.nome_parlamentar] = f.partido.sigla map[f.parlamentar.nome_parlamentar] = f.partido.sigla
presenca_ordem_dia = PresencaOrdemDia.objects.filter(sessao_plenaria_id = sessaoplenaria_id) presenca_ordem_dia = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=sessaoplenaria_id)
presentes_ordem_dia = [] presentes_ordem_dia = []
for p in presenca_ordem_dia: for p in presenca_ordem_dia:
nome_parlamentar = p.parlamentar.nome_parlamentar nome_parlamentar = p.parlamentar.nome_parlamentar
presentes_ordem_dia.append(nome_parlamentar + " / " + map[nome_parlamentar]) presentes_ordem_dia.append(
total_votos = votacao.numero_votos_sim + votacao.numero_votos_nao + votacao.numero_abstencoes nome_parlamentar + " / " + map[nome_parlamentar])
total_votos = votacao.numero_votos_sim + \
votacao.numero_votos_nao + votacao.numero_abstencoes
sessao_plenaria_presenca = SessaoPlenariaPresenca.objects.filter(id = sessaoplenaria_id) sessao_plenaria_presenca = SessaoPlenariaPresenca.objects.filter(
id=sessaoplenaria_id)
presentes_sessao_plenaria = [] presentes_sessao_plenaria = []
for p in sessao_plenaria_presenca: for p in sessao_plenaria_presenca:
presentes_sessao_plenaria.append(p.parlamentar.nome_parlamentar) presentes_sessao_plenaria.append(p.parlamentar.nome_parlamentar)
@ -62,7 +70,7 @@ def json_votacao(request):
"sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, "sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio,
"materia_legislativa_texto": ordem_dia.materia.ementa, "materia_legislativa_texto": ordem_dia.materia.ementa,
"observacao_materia": ordem_dia.materia.observacao, "observacao_materia": ordem_dia.materia.observacao,
"tipo_votacao": ordem_dia.tipo_votacao, # TODO: verbose name "tipo_votacao": ordem_dia.tipo_votacao, # TODO: verbose name
"numero_votos_sim": votacao.numero_votos_sim, "numero_votos_sim": votacao.numero_votos_sim,
"numero_votos_nao": votacao.numero_votos_nao, "numero_votos_nao": votacao.numero_votos_nao,
"numero_abstencoes": votacao.numero_abstencoes, "numero_abstencoes": votacao.numero_abstencoes,
@ -71,16 +79,21 @@ def json_votacao(request):
"tipo_resultado": votacao.tipo_resultado_votacao.nome.upper(), "tipo_resultado": votacao.tipo_resultado_votacao.nome.upper(),
"presentes_ordem_dia": presentes_ordem_dia, "presentes_ordem_dia": presentes_ordem_dia,
"presentes_sessao_plenaria": presentes_sessao_plenaria, "presentes_sessao_plenaria": presentes_sessao_plenaria,
} }
return JsonResponse(votacao_json) return JsonResponse(votacao_json)
# UI views # UI views
def painel_view(request): def painel_view(request):
context = {'head_title': 'Painel Plenário', 'title': '3a. Sessao Ordinária do Município XYZ'} context = {'head_title': 'Painel Plenário',
'title': '3a. Sessao Ordinária do Município XYZ'}
return render(request, 'painel/index.html', {'context': context}) return render(request, 'painel/index.html', {'context': context})
def painel_parlamentares_view(request): def painel_parlamentares_view(request):
return render(request, 'painel/parlamentares.html') return render(request, 'painel/parlamentares.html')
def painel_votacao_view(request): def painel_votacao_view(request):
return render(request, 'painel/votacao.html') return render(request, 'painel/votacao.html')

Loading…
Cancel
Save