mirror of https://github.com/Nonannet/copapy.git
request dependency removed
This commit is contained in:
parent
b56108a149
commit
d0466cf769
|
|
@ -34,9 +34,7 @@ copapy = ["obj/*.o", "py.typed"]
|
||||||
dev = [
|
dev = [
|
||||||
"ruff",
|
"ruff",
|
||||||
"mypy",
|
"mypy",
|
||||||
"pytest",
|
"pytest"
|
||||||
"requests",
|
|
||||||
"types-requests"
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[tool.mypy]
|
[tool.mypy]
|
||||||
|
|
|
||||||
|
|
@ -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__":
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue