From 1322f68d48c63baf94185f086cf242b38f6e9326 Mon Sep 17 00:00:00 2001
From: Jake Smith <jws52@cam.ac.uk>
Date: Tue, 5 Jan 2021 09:46:42 +0000
Subject: [PATCH] Clearer logging of survey download.

---
 ProcessorComponents.py | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/ProcessorComponents.py b/ProcessorComponents.py
index e5e6064..0d9198a 100644
--- a/ProcessorComponents.py
+++ b/ProcessorComponents.py
@@ -153,7 +153,7 @@ def process_pre_job_epi(input_args):
 def process_in_job_survey(jobPath,status,config,component):
     logger.info('started process_in_job_survey()')
 
-    logger.debug('Preparing to download from ODK server')
+    logger.debug('Performing download from ODK server')
 
     credentials_filename = config['Survey']['ServerCredentialsFile']
     with open(credentials_filename) as credentials_file:
@@ -162,6 +162,8 @@ def process_in_job_survey(jobPath,status,config,component):
     ODK_output_path = f"{jobPath}/ExportRawDB"
 
     # get data from ODK server
+    description_short = 'ODK download'
+    description_long = 'survey download from ODK server'
     ODK_jar = '/storage/app/EWS/General/EWS-Coordinator/ODK-Briefcase-v1.18.0.jar'
     ODK_download = ['java',
             '-jar', ODK_jar,
@@ -171,17 +173,17 @@ def process_in_job_survey(jobPath,status,config,component):
             '--odk_url', cred['server'],
             '--odk_username',cred['user'],
             '--odk_password',cred['pass']]
+    
     ODK_download_success = True
 
-    logger.debug('Downloading from ODK server')
+    logger.debug('Performing ' + description_long)
 
     try:
-        subprocess.run(ODK_download,check=True)
+        subprocess_and_log(ODK_download,description_short,description_long,check=True)
+        
     except subprocess.CalledProcessError as e:
-        logger.warning("Failed to download surveys from ODK server", exc_info=True)
         status.reset('WARNING')
         ODK_download_success = False
-        #endJob(status,premature=True)
 
     #TODO: Check it came down cleanly ($serverOutputDir is created whether cleanly or not, so test more explicitly):
 
@@ -192,7 +194,9 @@ def process_in_job_survey(jobPath,status,config,component):
     ODK_csv_filename = 'SurveyData.csv'
 
     if ODK_download_success:
-        logger.debug('Preparing to convert format of ODK download to csv')
+        description_short = 'ODK export'
+        description_long = 'format conversion of ODK download to csv'
+        logger.debug(description_long)
 
         ODK_java_to_csv = ['java',
                 '-jar', ODK_jar,
@@ -202,16 +206,14 @@ def process_in_job_survey(jobPath,status,config,component):
                 '--export_directory',ODK_csv_path,
                 '--export_filename',ODK_csv_filename]
         
-        logger.debug('Converting format of ODK download to csv')
+        logger.debug('Performing ' + description_long)
 
         try:
-            subprocess.run(ODK_java_to_csv, check=True)
+            subprocess_and_log(ODK_java_to_csv,description_short,description_long,check=True)
 
         except subprocess.CalledProcessError as e:
-            logger.warning('Failed to convert ODK survey data to csv', exc_info=True)
             status.reset('WARNING')
             ODK_download_success = False
-            #endJob(status,premature=True)
         
     if not ODK_download_success:
 
-- 
GitLab