Browse Source

Mais uns ajustes na geração de dados do mapa.

stable/1.0
Sesostris Vieira 12 years ago
parent
commit
d6485e6e2f
  1. 2
      etc/cron/cronscript.py
  2. 18
      sigi/apps/metas/views.py

2
etc/cron/cronscript.py

@ -18,4 +18,4 @@ from sigi import settings
setup_environ(settings) setup_environ(settings)
from sigi.apps.metas.views import gera_map_data_file from sigi.apps.metas.views import gera_map_data_file
print gera_map_data_file(get_error=True) print gera_map_data_file(cronjob=True)

18
sigi/apps/metas/views.py

@ -191,13 +191,16 @@ def filtrar_casas(seit, convenios, equipadas, regioes, estados, diagnosticos):
return casas return casas
def gera_map_data_file(get_error=False): def gera_map_data_file(cronjob=False):
''' Criar um arquivo json em {settings.MEDIA_ROOT}/apps/metas/ com o nome de map_data.json ''' Criar um arquivo json em {settings.MEDIA_ROOT}/apps/metas/ com o nome de map_data.json
Este arquivo será consumido pela view de dados de mapa. Este arquivo será consumido pela view de dados de mapa.
Retorna os dados json. Retorna os dados json caso cronjob seja falso.
Caso get_error seja True e ocorra algum erro na gravação do arquivo, Caso cronjob seja True, retorna log de tempo gasto na geração ou a mensagem do erro
retorna a mensagem do erro que impediu a gravação. que impediu a gravação do arquivo.
''' '''
import time
start = time.time()
casas = {} casas = {}
for c in CasaLegislativa.objects.select_related('servico', 'convenio', 'diagnostico').all().distinct(): for c in CasaLegislativa.objects.select_related('servico', 'convenio', 'diagnostico').all().distinct():
@ -250,10 +253,13 @@ def gera_map_data_file(get_error=False):
file.write(json_data) file.write(json_data)
file.close() file.close()
except: # A gravação não foi bem sucedida ... except: # A gravação não foi bem sucedida ...
if get_error: # ... o chamador deseja a mensagem de erro if cronjob: # ... o chamador deseja a mensagem de erro
import sys import sys
return sys.exc_info()[0] return sys.exc_info()[0]
else: else:
pass # ... ou os dados poderão ser usados de qualquer forma pass # ... ou os dados poderão ser usados de qualquer forma
if cronjob:
return "Arquivo %s gerado em %d segundos" % (JSON_FILE_NAME, time.time() - start)
return json_data return json_data
Loading…
Cancel
Save