Skip to content

Commit 7601b46

Browse files
committed
Re-use single session instead of opening many connections
1 parent e7515f5 commit 7601b46

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

add_to_pydotorg.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ def run_cmd(
7474

7575
tag_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

7982
github_oidc_provider = "https://github.com/login/oauth"
8083
google_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

307310
def 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

Comments
 (0)