Skip to content

Commit 7a70d8d

Browse files
committed
Use PyGithub to retrieve latest release from Adafruit bundle
1 parent 7427590 commit 7a70d8d

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

build/build.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import zipfile
1313

1414
import pygit2
15-
import requests
15+
from github import Github
1616
from circup.commands import main as circup_cli
1717

1818
ASSET_DIRS = (
@@ -26,11 +26,12 @@
2626
"metadata.json"
2727
)
2828

29-
def get_latest_repository_release_assets(name:str|dict) -> list:
30-
request_url = "https://api.github.com/repos/{}/releases/latest".format(name)
31-
release_response = requests.get(request_url, allow_redirects=True)
32-
release_data = release_response.json()
33-
return release_data["assets"]
29+
def get_latest_repository_release_assets(name:str) -> list:
30+
gh = Github()
31+
repo = gh.get_repo(name)
32+
release = repo.get_latest_release()
33+
gh.close()
34+
return release.assets
3435

3536
def replace_tags(file:Path, data:dict) -> None:
3637
with open(file, "r") as f:
@@ -95,7 +96,7 @@ def main():
9596

9697
try:
9798
for asset in get_latest_repository_release_assets("adafruit/Adafruit_CircuitPython_Bundle"):
98-
bundle_version = re.findall(r'^adafruit-circuitpython-bundle-(\d+.x)-mpy-\d{8}.zip$', asset["name"])
99+
bundle_version = re.findall(r'^adafruit-circuitpython-bundle-(\d+.x)-mpy-\d{8}.zip$', asset.name)
99100
if not len(bundle_version):
100101
continue
101102
bundle_version = bundle_version[0]

build/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
circup
22
pygit2
3-
requests
3+
PyGithub

0 commit comments

Comments
 (0)