Allow dev manifest selection when using non-releases URLs

This commit is contained in:
Aaron
2025-12-14 18:02:36 -05:00
parent 90d3e5676a
commit daea783d38

View File

@@ -210,21 +210,22 @@ def fetch_manifest_for_channel(channel: str, with_meta: bool = False):
try: try:
parts = base_manifest_url.split("/") parts = base_manifest_url.split("/")
if "releases" not in parts: if "releases" not in parts:
if manifest: # No releases API for this URL; keep any fetched manifest and skip API discovery.
return (manifest, {"version_dates": version_dates}) if with_meta else manifest releases = []
mf = fetch_manifest(base_manifest_url) if not manifest:
return (mf, {"version_dates": version_dates}) if with_meta else mf manifest = fetch_manifest(base_manifest_url)
idx = parts.index("releases") else:
owner = parts[idx - 2] idx = parts.index("releases")
repo = parts[idx - 1] owner = parts[idx - 2]
base = "/".join(parts[:3]) repo = parts[idx - 1]
api_url = f"{base}/api/v1/repos/{owner}/{repo}/releases" base = "/".join(parts[:3])
req = urllib.request.Request(api_url) api_url = f"{base}/api/v1/repos/{owner}/{repo}/releases"
token = _auth_token() req = urllib.request.Request(api_url)
if token: token = _auth_token()
req.add_header("Authorization", f"token {token}") if token:
resp = urllib.request.urlopen(req, timeout=10) req.add_header("Authorization", f"token {token}")
releases = json.loads(resp.read().decode()) resp = urllib.request.urlopen(req, timeout=10)
releases = json.loads(resp.read().decode())
# Map release versions to published dates so we can surface them later # Map release versions to published dates so we can surface them later
for rel in releases: for rel in releases: