@@ -77,19 +77,31 @@ def add_file_links(file_upload_link, file_links, headers, keepfiles=False):
7777 f_list = []
7878 for link in file_links :
7979 file = link .split ("/" )[- 1 ]
80+ f_list .append (file )
8081 path = link .split (endpoint )[1 ]
8182 size = s3 .info (path )["size" ]
8283
8384 file_json .append (
8485 {"key" : file , "size" : size , "transfer" : {"type" : "R" , "url" : link }}
8586 )
86- # See if any existing files need to be retained
87- if keepfiles == True :
88- result = requests .get (file_upload_link , headers = f_headers , verify = verify )
89- if result .status_code == 200 :
90- ex_files = result .json ()["entries" ]
91- for ex in ex_files :
92- if ex ["key" ] not in f_list :
87+ # Now we see if any existing files need to be replaced
88+ result = requests .get (file_link , headers = f_headers , verify = verify )
89+ if result .status_code == 200 :
90+ ex_files = result .json ()["entries" ]
91+ for ex in ex_files :
92+ if ex ["key" ] in f_list :
93+ result = requests .delete (
94+ ex ["links" ]["self" ], headers = f_headers , verify = verify
95+ )
96+ print (
97+ "Deleted existing file with same name as file link:" ,
98+ ex ["key" ],
99+ result .status_code ,
100+ )
101+ if result .status_code != 204 :
102+ raise Exception (result .text )
103+ else :
104+ if keepfiles == True :
93105 file_json .append (ex )
94106
95107 result = requests .post (file_upload_link , headers = headers , json = file_json )
0 commit comments