99from 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