Skip to content

Commit e788c4a

Browse files
committed
Add file handling
1 parent c29c16b commit e788c4a

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

caltechdata_api/caltechdata_write.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)