@@ -51,29 +51,30 @@ def get_source_data(params, logger):
5151 remote_source_files = [f"{ date .strftime ('%Y%m%d' )} .csv.gz" for date in dates ]
5252
5353 # Download source files
54- with ssh .open_sftp () as sftp :
54+ sftp = ssh .open_sftp ()
55+ try :
56+ sftp .stat (params ["common" ]["backup_dir" ])
57+ except IOError :
58+ logger .error ("Source backup directory does not exist on the remote server." )
59+
60+ sftp .chdir (params ["common" ]["backup_dir" ])
61+
62+ num_files_transferred = 0
63+ for remote_file_name in remote_source_files :
64+ callback_for_filename = functools .partial (print_callback , remote_file_name , logger , progress_chunks = [0 , 50 ])
65+ local_file_path = path .join (params ["patch" ]["source_dir" ], remote_file_name )
5566 try :
56- sftp .stat (params [ "common" ][ "backup_dir" ] )
67+ sftp .stat (remote_file_name )
5768 except IOError :
58- logger .error ("Source backup directory does not exist on the remote server." )
59-
60- sftp .chdir (params ["common" ]["backup_dir" ])
61-
62- num_files_transferred = 0
63- for remote_file_name in remote_source_files :
64- callback_for_filename = functools .partial (print_callback , remote_file_name , logger , progress_chunks = [0 , 50 ])
65- local_file_path = path .join (params ["patch" ]["source_dir" ], remote_file_name )
66- try :
67- sftp .stat (remote_file_name )
68- except IOError :
69- logger .warning (
70- "Source backup for this date does not exist on the remote server." ,
71- missing_filename = remote_file_name ,
72- )
73- continue
74- sftp .get (remote_file_name , local_file_path , callback = callback_for_filename )
75- logger .info ("Transfer finished" , remote_file_name = remote_file_name , local_file_path = local_file_path )
76- num_files_transferred += 1
69+ logger .warning (
70+ "Source backup for this date does not exist on the remote server." ,
71+ missing_filename = remote_file_name ,
72+ )
73+ continue
74+ sftp .get (remote_file_name , local_file_path , callback = callback_for_filename )
75+ logger .info ("Transfer finished" , remote_file_name = remote_file_name , local_file_path = local_file_path )
76+ num_files_transferred += 1
77+ ssh .close ()
7778
7879 if num_files_transferred == 0 :
7980 logger .error ("No source data was transferred. Check the source backup server for potential issues." )
0 commit comments