Moved back to sync and added logging
This commit is contained in:
@@ -5,10 +5,10 @@ import httpx
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
async def process_gitea(item: CSInventoryItem, outdir: str) -> list[CSItem] | None:
|
||||
def process_gitea(item: CSInventoryItem, outdir: str) -> list[CSItem] | None:
|
||||
source: CSSourceGitea = item.source
|
||||
commit_hash = await get_release_commit_sha(source.base_url, source.owner, source.repo, source.tag)
|
||||
asserts = await list_release_assets(source.base_url, source.owner, source.repo, source.tag)
|
||||
commit_hash = get_release_commit_sha(source.base_url, source.owner, source.repo, source.tag)
|
||||
asserts = list_release_assets(source.base_url, source.owner, source.repo, source.tag)
|
||||
|
||||
asserts = list(filter(lambda a: a[1].endswith(".pdf"), asserts))
|
||||
asserts = list(map(lambda a: (a[0], f"{source.base_url}/repos/{source.owner}/{source.repo}/releases/download/{source.tag}/{a[0]}"), asserts))
|
||||
@@ -21,7 +21,7 @@ async def process_gitea(item: CSInventoryItem, outdir: str) -> list[CSItem] | No
|
||||
res_url = a[0]
|
||||
|
||||
if item.cache:
|
||||
cache_url = await cache_cheatsheet(a[0], outdir)
|
||||
cache_url = cache_cheatsheet(a[0], outdir)
|
||||
if cache_url:
|
||||
res_url = cache_url
|
||||
else:
|
||||
@@ -42,7 +42,7 @@ async def process_gitea(item: CSInventoryItem, outdir: str) -> list[CSItem] | No
|
||||
|
||||
return res
|
||||
|
||||
async def get_release_commit_sha(base_url, owner, repo, tag_name, token=None):
|
||||
def get_release_commit_sha(base_url, owner, repo, tag_name, token=None):
|
||||
"""
|
||||
Resolve the commit SHA for a Gitea release tag.
|
||||
|
||||
@@ -55,14 +55,14 @@ async def get_release_commit_sha(base_url, owner, repo, tag_name, token=None):
|
||||
"""
|
||||
|
||||
|
||||
async with httpx.AsyncClient() as client:
|
||||
with httpx.Client() as client:
|
||||
headers = {}
|
||||
if token:
|
||||
headers["Authorization"] = f"token {token}"
|
||||
|
||||
# 1) List tags and find the matching tag
|
||||
tags_url = f"{base_url}/api/v1/repos/{owner}/{repo}/tags"
|
||||
resp = await client.get(tags_url, headers=headers)
|
||||
resp = client.get(tags_url, headers=headers)
|
||||
resp.raise_for_status()
|
||||
tags = resp.json()
|
||||
|
||||
@@ -83,7 +83,7 @@ async def get_release_commit_sha(base_url, owner, repo, tag_name, token=None):
|
||||
raise RuntimeError("Tag object SHA missing; cannot dereference annotated tag")
|
||||
|
||||
git_tag_url = f"{base_url}/api/v1/repos/{owner}/{repo}/git/tags/{tag_obj_sha}"
|
||||
resp = await client.get(git_tag_url, headers=headers)
|
||||
resp = client.get(git_tag_url, headers=headers)
|
||||
resp.raise_for_status()
|
||||
annotated = resp.json()
|
||||
|
||||
@@ -95,7 +95,7 @@ async def get_release_commit_sha(base_url, owner, repo, tag_name, token=None):
|
||||
return target.get("sha")
|
||||
|
||||
|
||||
async def list_release_assets(base_url, owner, repo, tag, token=None):
|
||||
def list_release_assets(base_url, owner, repo, tag, token=None):
|
||||
"""
|
||||
Return a list of (download_url, filename) for all assets of a Gitea release.
|
||||
|
||||
@@ -107,14 +107,14 @@ async def list_release_assets(base_url, owner, repo, tag, token=None):
|
||||
:returns: list of (download_url, filename) tuples
|
||||
"""
|
||||
|
||||
async with httpx.AsyncClient() as client:
|
||||
with httpx.Client() as client:
|
||||
headers = {}
|
||||
if token:
|
||||
headers["Authorization"] = f"token {token}"
|
||||
|
||||
# 1) Get release by tag
|
||||
rel_url = f"{base_url}/api/v1/repos/{owner}/{repo}/releases/tags/{tag}"
|
||||
rel_resp = await client.get(rel_url, headers=headers)
|
||||
rel_resp = client.get(rel_url, headers=headers)
|
||||
rel_resp.raise_for_status()
|
||||
release: dict = rel_resp.json()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user