diff --git a/etc/cron/cronscript.py b/etc/cron/cronscript.py index 1428c93..85e1177 100644 --- a/etc/cron/cronscript.py +++ b/etc/cron/cronscript.py @@ -8,7 +8,7 @@ sys.path.insert(0, '/var/interlegis/sigi/sigi') # Dev import os -BASE_DIR = os.path.abspath(os.path.dirname(__file__) + '../../../..') +BASE_DIR = os.path.abspath(os.path.dirname(__file__) + '../../..') PROJECT_DIR = BASE_DIR + '/sigi' sys.path.insert(0, BASE_DIR) sys.path.insert(0, PROJECT_DIR) @@ -18,4 +18,4 @@ from sigi import settings setup_environ(settings) from sigi.apps.metas.views import gera_map_data_file -print gera_map_data_file() \ No newline at end of file +print gera_map_data_file(get_error=True) \ No newline at end of file diff --git a/sigi/apps/metas/views.py b/sigi/apps/metas/views.py index c2642eb..f995456 100644 --- a/sigi/apps/metas/views.py +++ b/sigi/apps/metas/views.py @@ -191,10 +191,12 @@ def filtrar_casas(seit, convenios, equipadas, regioes, estados, diagnosticos): return casas -def gera_map_data_file(): +def gera_map_data_file(get_error=False): ''' Criar um arquivo json em settings.MEDIA_ROOT com o nome de map_data.json Este arquivo será consumido pela view de dados de mapa. - Retorna os dados json gravados no arquivo. + Retorna os dados json. + Caso get_error seja True e ocorra algum erro na gravação do arquivo, + retorna a mensagem do erro que impediu a gravação. ''' casas = {} @@ -247,7 +249,11 @@ def gera_map_data_file(): file = open(JSON_FILE_NAME, 'w') file.write(json_data) file.close() - except: - pass # A gravação não foi bem sucedida, mas os dados poderão ser usados por quem invocou a rotina + except: # A gravação não foi bem sucedida ... + if get_error: # ... o chamador deseja a mensagem de erro + import sys + return sys.exc_info()[0] + else: + pass # ... ou os dados poderão ser usados de qualquer forma return json_data \ No newline at end of file