From dd0c97eefcee6745f796d158f68b6fed32a527a2 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Mon, 16 Jan 2023 15:58:26 +0200 Subject: [PATCH] fix: make github releases g first --- lnbits/extension_manger.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/lnbits/extension_manger.py b/lnbits/extension_manger.py index 6a417c0c..e3cf294e 100644 --- a/lnbits/extension_manger.py +++ b/lnbits/extension_manger.py @@ -299,6 +299,17 @@ class InstallableExtension(BaseModel): logger.warning(f"Cannot fetch extensions manifest at: {url}") continue manifest = resp.json() + if "repos" in manifest: + for r in manifest["repos"]: + ext = await InstallableExtension.from_repo( + r["organisation"], r["repository"] + ) + if ext: + if ext.id in extension_id_list: + continue + extension_list += [ext] + extension_id_list += [ext.id] + if "extensions" in manifest: for e in manifest["extensions"]: if e["id"] in extension_id_list: @@ -318,16 +329,6 @@ class InstallableExtension(BaseModel): ) ] extension_id_list += [e["id"]] - if "repos" in manifest: - for r in manifest["repos"]: - ext = await InstallableExtension.from_repo( - r["organisation"], r["repository"] - ) - if ext: - if ext.id in extension_id_list: - continue - extension_list += [ext] - extension_id_list += [ext.id] except Exception as e: logger.warning(f"Manifest {url} failed with '{str(e)}'") @@ -344,6 +345,14 @@ class InstallableExtension(BaseModel): logger.warning(f"Cannot fetch extensions manifest at: {url}") continue manifest = resp.json() + if "repos" in manifest: + for r in manifest["repos"]: + if r["id"] == ext_id: + repo_releases = await ExtensionRelease.all_releases( + r["organisation"], r["repository"] + ) + extension_releases += repo_releases + if "extensions" in manifest: for e in manifest["extensions"]: if e["id"] == ext_id: @@ -357,12 +366,6 @@ class InstallableExtension(BaseModel): description=e["shortDescription"], ) ] - if "repos" in manifest: - for r in manifest["repos"]: - repo_releases = await ExtensionRelease.all_releases( - r["organisation"], r["repository"] - ) - extension_releases += repo_releases except Exception as e: logger.warning(f"Manifest {url} failed with '{str(e)}'")