Skip to content

Commit 3dbbf1a

Browse files
committed
Local authors development
1 parent b375c07 commit 3dbbf1a

File tree

1 file changed

+33
-16
lines changed

1 file changed

+33
-16
lines changed

caltechdata_api/caltechdata_write.py

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
from caltechdata_api.utils import humanbytes
1010

1111

12-
def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=False):
12+
def write_files_rdm(
13+
files, file_link, headers, f_headers, s3=None, keepfiles=False, verify=True
14+
):
1315
f_json = []
1416
f_list = {}
1517
fnames = []
@@ -24,16 +26,18 @@ def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=Fal
2426
f_json.append({"key": filename})
2527
f_list[filename] = f
2628
# Now we see if any existing draft files need to be replaced
27-
result = requests.get(file_link, headers=f_headers)
29+
result = requests.get(file_link, headers=f_headers, verify=verify)
2830
if result.status_code == 200:
2931
ex_files = result.json()["entries"]
3032
for ex in ex_files:
3133
if ex["key"] in f_list:
32-
result = requests.delete(ex["links"]["self"], headers=f_headers)
34+
result = requests.delete(
35+
ex["links"]["self"], headers=f_headers, verify=verify
36+
)
3337
if result.status_code != 204:
3438
raise Exception(result.text)
3539
# Create new file upload links
36-
result = requests.post(file_link, headers=headers, json=f_json)
40+
result = requests.post(file_link, headers=headers, json=f_json, verify=verify)
3741
if result.status_code != 201:
3842
raise Exception(result.text)
3943
# Now we have the upload links
@@ -49,16 +53,16 @@ def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=Fal
4953
infile = open(name, "rb")
5054
else:
5155
infile = open(f_list[name], "rb")
52-
result = requests.put(link, headers=f_headers, data=infile)
56+
result = requests.put(link, headers=f_headers, data=infile, verify=verify)
5357
if result.status_code != 200:
5458
raise Exception(result.text)
55-
result = requests.post(commit, headers=headers)
59+
result = requests.post(commit, headers=headers, verify=verify)
5660
if result.status_code != 200:
5761
raise Exception(result.text)
5862
else:
5963
# Delete any files not included in this write command
6064
if keepfiles == False:
61-
result = requests.delete(self, headers=f_headers)
65+
result = requests.delete(self, headers=f_headers, verify=verify)
6266
if result.status_code != 204:
6367
raise Exception(result.text)
6468

@@ -100,15 +104,17 @@ def add_file_links(
100104
return metadata
101105

102106

103-
def send_to_community(review_link, data, headers, publish, community, message=None):
107+
def send_to_community(
108+
review_link, data, headers, publish, community, message=None, verify=True
109+
):
104110
if not message:
105111
message = "This record is submitted automatically with the CaltechDATA API"
106112

107113
data = {
108114
"receiver": {"community": community},
109115
"type": "community-submission",
110116
}
111-
result = requests.put(review_link, json=data, headers=headers)
117+
result = requests.put(review_link, json=data, headers=headers, verify=verify)
112118
if result.status_code != 200:
113119
raise Exception(result.text)
114120
submit_link = review_link.replace("/review", "/actions/submit-review")
@@ -118,7 +124,7 @@ def send_to_community(review_link, data, headers, publish, community, message=No
118124
"format": "html",
119125
}
120126
}
121-
result = requests.post(submit_link, json=data, headers=headers)
127+
result = requests.post(submit_link, json=data, headers=headers, verify=verify)
122128
if result.status_code != 202:
123129
raise Exception(result.text)
124130
if publish:
@@ -129,7 +135,7 @@ def send_to_community(review_link, data, headers, publish, community, message=No
129135
"format": "html",
130136
}
131137
}
132-
result = requests.post(accept_link, json=data, headers=headers)
138+
result = requests.post(accept_link, json=data, headers=headers, verify=verify)
133139
if result.status_code != 200:
134140
raise Exception(result.text)
135141
return result
@@ -150,6 +156,7 @@ def caltechdata_write(
150156
s3_link=None,
151157
default_preview=None,
152158
review_message=None,
159+
verify=True,
153160
):
154161
"""
155162
File links are links to files existing in external systems that will
@@ -229,7 +236,7 @@ def caltechdata_write(
229236
if production == True:
230237
url = "https://authors.library.caltech.edu/"
231238
else:
232-
url = "https://authors.caltechlibrary.dev/"
239+
url = "https://127.0.0.1:5000/"
233240

234241
headers = {
235242
"Authorization": "Bearer %s" % token,
@@ -246,7 +253,9 @@ def caltechdata_write(
246253
data["files"] = {"enabled": True, "default_preview": default_preview}
247254

248255
# Make draft and publish
249-
result = requests.post(url + "/api/records", headers=headers, json=data)
256+
result = requests.post(
257+
url + "/api/records", headers=headers, json=data, verify=verify
258+
)
250259
if result.status_code != 201:
251260
if result.status_code == 400 and "Referer checking failed" in result.text:
252261
raise Exception("Token is incorrect or missing referer.")
@@ -257,17 +266,25 @@ def caltechdata_write(
257266

258267
if files:
259268
file_link = result.json()["links"]["files"]
260-
write_files_rdm(files, file_link, headers, f_headers, s3)
269+
write_files_rdm(files, file_link, headers, f_headers, s3, verify=verify)
261270

262271
if community:
263272
review_link = result.json()["links"]["review"]
264273
send_to_community(
265-
review_link, data, headers, publish, community, review_message
274+
review_link,
275+
data,
276+
headers,
277+
publish,
278+
community,
279+
review_message,
280+
verify=verify,
266281
)
267282

268283
else:
269284
if publish:
270-
result = requests.post(publish_link, json=data, headers=headers)
285+
result = requests.post(
286+
publish_link, json=data, headers=headers, verify=verify
287+
)
271288
if result.status_code != 202:
272289
raise Exception(result.text)
273290
return idv

0 commit comments

Comments
 (0)