@@ -37,25 +37,25 @@ def get_argument_parser():
3737 help = "filename for log output (defaults to stdout)" )
3838 return parser
3939
40- def collect_files (data_dir , specific_issue_date , csv_importer_impl = CsvImporter ):
40+ def collect_files (data_dir , specific_issue_date ,csv_importer_impl = CsvImporter ):
4141 """Fetch path and data profile details for each file to upload."""
42-
42+ logger = get_structured_logger ( 'collect_files' )
4343 if specific_issue_date :
4444 results = list (csv_importer_impl .find_issue_specific_csv_files (data_dir ))
4545 else :
4646 results = list (csv_importer_impl .find_csv_files (os .path .join (data_dir , 'receiving' )))
47- print (f'found { len (results )} files' )
47+ logger . info (f'found { len (results )} files' )
4848 return results
4949
5050def make_handlers (data_dir , specific_issue_date , file_archiver_impl = FileArchiver ):
5151 if specific_issue_date :
5252 # issue-specific uploads are always one-offs, so we can leave all
5353 # files in place without worrying about cleaning up
54- def handle_failed (path_src , filename , source ):
55- print ( f 'leaving failed file alone - { source } ' )
54+ def handle_failed (path_src , filename , source , logger ):
55+ logger . info ( event = 'leaving failed file alone' , dest = source , file = filename )
5656
57- def handle_successful (path_src , filename , source ):
58- print ( 'archiving as successful' )
57+ def handle_successful (path_src , filename , source , logger ):
58+ logger . info ( event = 'archiving as successful' , file = filename )
5959 file_archiver_impl .archive_inplace (path_src , filename )
6060 else :
6161 # normal automation runs require some shuffling to remove files
@@ -64,15 +64,15 @@ def handle_successful(path_src, filename, source):
6464 archive_failed_dir = os .path .join (data_dir , 'archive' , 'failed' )
6565
6666 # helper to archive a failed file without compression
67- def handle_failed (path_src , filename , source ):
68- print ( 'archiving as failed - ' + source )
67+ def handle_failed (path_src , filename , source , logger ):
68+ logger . info ( event = 'archiving as failed - ' , detail = source , file = filename )
6969 path_dst = os .path .join (archive_failed_dir , source )
7070 compress = False
7171 file_archiver_impl .archive_file (path_src , path_dst , filename , compress )
7272
7373 # helper to archive a successful file with compression
74- def handle_successful (path_src , filename , source ):
75- print ( 'archiving as successful' )
74+ def handle_successful (path_src , filename , source , logger ):
75+ logger . info ( event = 'archiving as successful' , file = filename )
7676 path_dst = os .path .join (archive_successful_dir , source )
7777 compress = True
7878 file_archiver_impl .archive_file (path_src , path_dst , filename , compress )
@@ -101,15 +101,14 @@ def upload_archive(
101101 """
102102 archive_as_successful , archive_as_failed = handlers
103103 total_modified_row_count = 0
104-
105104 # iterate over each file
106105 for path , details in path_details :
107- print ( 'handling ' , path )
106+ logger . info ( event = 'handling' , dest = path )
108107 path_src , filename = os .path .split (path )
109108
110109 if not details :
111110 # file path or name was invalid, source is unknown
112- archive_as_failed (path_src , filename , 'unknown' )
111+ archive_as_failed (path_src , filename , 'unknown' , logger )
113112 continue
114113
115114 (source , signal , time_type , geo_type , time_value , issue , lag ) = details
@@ -130,7 +129,7 @@ def upload_archive(
130129 if all_rows_valid :
131130 try :
132131 modified_row_count = database .insert_or_update_bulk (rows_list )
133- print (f"insert_or_update_bulk { filename } returned { modified_row_count } " )
132+ logger . info (f"insert_or_update_bulk { filename } returned { modified_row_count } " )
134133 logger .info (
135134 "Inserted database rows" ,
136135 row_count = modified_row_count ,
@@ -145,14 +144,14 @@ def upload_archive(
145144 database .commit ()
146145 except Exception as e :
147146 all_rows_valid = False
148- print ('exception while inserting rows:' , e )
147+ logger . exception ('exception while inserting rows:' , e )
149148 database .rollback ()
150149
151150 # archive the current file based on validation results
152151 if all_rows_valid :
153- archive_as_successful (path_src , filename , source )
152+ archive_as_successful (path_src , filename , source , logger )
154153 else :
155- archive_as_failed (path_src , filename , source )
154+ archive_as_failed (path_src , filename , source , logger )
156155
157156 return total_modified_row_count
158157
@@ -168,7 +167,7 @@ def main(
168167 start_time = time .time ()
169168
170169 if args .is_wip_override and args .not_wip_override :
171- print ('conflicting overrides for forcing WIP option! exiting...' )
170+ logger . error ('conflicting overrides for forcing WIP option! exiting...' )
172171 return
173172 wip_override = None
174173 if args .is_wip_override :
@@ -179,7 +178,7 @@ def main(
179178 # shortcut escape without hitting db if nothing to do
180179 path_details = collect_files_impl (args .data_dir , args .specific_issue_date )
181180 if not path_details :
182- print ('nothing to do; exiting...' )
181+ logger . info ('nothing to do; exiting...' )
183182 return
184183
185184 logger .info ("Ingesting CSVs" , csv_count = len (path_details ))
@@ -195,7 +194,8 @@ def main(
195194 logger ,
196195 is_wip_override = wip_override )
197196 logger .info ("Finished inserting database rows" , row_count = modified_row_count )
198- print ('inserted/updated %d rows' % modified_row_count )
197+ # the following print statement serves the same function as the logger.info call above
198+ # print('inserted/updated %d rows' % modified_row_count)
199199 finally :
200200 # unconditionally commit database changes since CSVs have been archived
201201 database .disconnect (True )
0 commit comments