@@ -74,7 +74,10 @@ def run_cmd(
7474
7575tag_cre = re .compile (r"(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:([ab]|rc)(\d+))?$" )
7676
77- headers = {"Authorization" : f"ApiKey { auth_info } " , "Content-Type" : "application/json" }
77+ session = requests .Session ()
78+ session .headers .update (
79+ {"Authorization" : f"ApiKey { auth_info } " , "Content-Type" : "application/json" }
80+ )
7881
7982github_oidc_provider = "https://github.com/login/oauth"
8083google_oidc_provider = "https://accounts.google.com"
@@ -297,7 +300,7 @@ def query_object(base_url: str, objtype: str, **params: Any) -> int:
297300 """Find an API object by query parameters."""
298301 uri = base_url + f"downloads/{ objtype } /"
299302 uri += "?" + "&" .join (f"{ k } ={ v } " for k , v in params .items ())
300- resp = requests .get (uri , headers = headers )
303+ resp = session .get (uri )
301304 if resp .status_code != 200 or not json .loads (resp .text )["objects" ]:
302305 raise RuntimeError (f"no object for { objtype } params={ params !r} " )
303306 obj = json .loads (resp .text )["objects" ][0 ]
@@ -306,10 +309,9 @@ def query_object(base_url: str, objtype: str, **params: Any) -> int:
306309
307310def post_object (base_url : str , objtype : str , datadict : dict [str , Any ]) -> int :
308311 """Create a new API object."""
309- resp = requests .post (
312+ resp = session .post (
310313 base_url + "downloads/" + objtype + "/" ,
311314 data = json .dumps (datadict ),
312- headers = headers ,
313315 )
314316 if resp .status_code != 201 :
315317 try :
@@ -472,9 +474,7 @@ def main() -> None:
472474 raise RuntimeError (f"duplicate slug generated: { key } " )
473475 file_dicts [key ] = file_dict
474476 print ("Deleting previous release files" )
475- resp = requests .delete (
476- args .base_url + f"downloads/release_file/?release={ rel_pk } " , headers = headers
477- )
477+ resp = session .delete (f"{ args .base_url } downloads/release_file/?release={ rel_pk } " )
478478 if resp .status_code != 204 :
479479 raise RuntimeError (f"deleting previous releases failed: { resp .status_code } " )
480480 for file_dict in file_dicts .values ():
0 commit comments