request dependency removed

This commit is contained in:
Nicolas Kruse 2025-11-03 22:39:40 +01:00
parent b56108a149
commit d0466cf769
2 changed files with 16 additions and 12 deletions

View File

@ -34,9 +34,7 @@ copapy = ["obj/*.o", "py.typed"]
dev = [ dev = [
"ruff", "ruff",
"mypy", "mypy",
"pytest", "pytest"
"requests",
"types-requests"
] ]
[tool.mypy] [tool.mypy]

View File

@ -1,15 +1,25 @@
import os import os
import requests import json
from urllib.request import urlopen, Request
OWNER = "Nonannet" OWNER = "Nonannet"
REPO = "copapy" REPO = "copapy"
def fetch_json(url: str):
req = Request(url, headers={"User-Agent": "Python"})
with urlopen(req, timeout=10) as resp:
assert resp.status == 200
return json.load(resp)
def download_file(url: str, dest_path: str):
req = Request(url, headers={"User-Agent": "Python"})
with urlopen(req, timeout=30) as resp, open(dest_path, "wb") as f:
f.write(resp.read())
def main() -> None: def main() -> None:
# Get all releases (includes prereleases) # Get all releases (includes prereleases)
api_url = f"https://api.github.com/repos/{OWNER}/{REPO}/releases" api_url = f"https://api.github.com/repos/{OWNER}/{REPO}/releases"
resp = requests.get(api_url, timeout=10) releases = fetch_json(api_url)
resp.raise_for_status()
releases = resp.json()
assert releases, "No releases found." assert releases, "No releases found."
@ -38,11 +48,7 @@ def main() -> None:
if dest: if dest:
os.makedirs(dest, exist_ok=True) os.makedirs(dest, exist_ok=True)
print(f"- Downloading {name} ...") print(f"- Downloading {name} ...")
r = requests.get(url, stream=True, timeout=30) download_file(url, os.path.join(dest, name))
r.raise_for_status()
with open(os.path.join(dest, name), "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
print(f"- Saved {name} to {dest}") print(f"- Saved {name} to {dest}")
if __name__ == "__main__": if __name__ == "__main__":