From 826f8ad2ac106e9a55452c9efe6d0e9c25155150 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Thu, 12 Dec 2024 15:18:03 +0200 Subject: [PATCH] fix: ext upgrade from `lnbits-cli` (#2822) --- lnbits/commands.py | 8 +++++++- lnbits/core/models/extensions.py | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lnbits/commands.py b/lnbits/commands.py index d56d33f7a..97329220f 100644 --- a/lnbits/commands.py +++ b/lnbits/commands.py @@ -1,5 +1,6 @@ import asyncio import importlib +import sys import time from functools import wraps from pathlib import Path @@ -338,12 +339,17 @@ async def extensions_update( if not await _can_run_operation(url): return + upgrades_dir = Path(settings.lnbits_extensions_path, "upgrades") + Path(upgrades_dir).mkdir(parents=True, exist_ok=True) + sys.path.append(str(upgrades_dir)) + if extension: await update_extension(extension, repo_index, source_repo, url, admin_user) return - click.echo("Updating all extensions...") + click.echo("Updating all extensions:") installed_extensions = await get_installed_extensions() + click.echo(f" {[e.id for e in installed_extensions]}") updated_extensions = [] for e in installed_extensions: try: diff --git a/lnbits/core/models/extensions.py b/lnbits/core/models/extensions.py index b3a000f62..59f144f8b 100644 --- a/lnbits/core/models/extensions.py +++ b/lnbits/core/models/extensions.py @@ -348,6 +348,11 @@ class InstallableExtension(BaseModel): @property def module_name(self) -> str: + if self.ext_upgrade_dir.is_dir(): + if settings.has_default_extension_path: + return f"lnbits.upgrades.{self.id}-{self.hash}" + return f"{self.id}-{self.hash}" + if settings.has_default_extension_path: return f"lnbits.extensions.{self.id}" return self.id