From 83f04534e7835ea5ddfb345c9cb65c2d13dde361 Mon Sep 17 00:00:00 2001 From: jacksn Date: Sun, 5 Mar 2023 13:36:36 +0100 Subject: [PATCH 1/2] remove lnbits_disabled_extensions, fix is_admin_only --- lnbits/extension_manager.py | 15 ++++----------- lnbits/settings.py | 2 -- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/lnbits/extension_manager.py b/lnbits/extension_manager.py index 9f34d181..16c438eb 100644 --- a/lnbits/extension_manager.py +++ b/lnbits/extension_manager.py @@ -54,8 +54,6 @@ class Extension(NamedTuple): class ExtensionManager: def __init__(self): - self._disabled: List[str] = settings.lnbits_disabled_extensions - self._admin_only: List[str] = settings.lnbits_admin_extensions p = Path(settings.lnbits_path, "extensions") os.makedirs(p, exist_ok=True) self._extension_folders: List[Path] = [f for f in p.iterdir() if f.is_dir()] @@ -64,23 +62,18 @@ class ExtensionManager: def extensions(self) -> List[Extension]: output: List[Extension] = [] - if "all" in self._disabled: - return output - - for extension in [ - ext for ext in self._extension_folders if ext not in self._disabled - ]: + for extension_folder in self._extension_folders: + extension_code = extension_folder.parts[-1] try: - with open(extension / "config.json") as json_file: + with open(extension_folder / "config.json") as json_file: config = json.load(json_file) is_valid = True - is_admin_only = True if extension in self._admin_only else False + is_admin_only = extension_code in settings.lnbits_admin_extensions except Exception: config = {} is_valid = False is_admin_only = False - *_, extension_code = extension.parts output.append( Extension( extension_code, diff --git a/lnbits/settings.py b/lnbits/settings.py index 75c20a9a..7a907e0c 100644 --- a/lnbits/settings.py +++ b/lnbits/settings.py @@ -43,7 +43,6 @@ class UsersSettings(LNbitsSettings): class ExtensionsSettings(LNbitsSettings): lnbits_admin_extensions: List[str] = Field(default=[]) - lnbits_disabled_extensions: List[str] = Field(default=[]) lnbits_extensions_manifests: List[str] = Field( default=[ "https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions.json" @@ -212,7 +211,6 @@ class EditableSettings( "lnbits_allowed_users", "lnbits_theme_options", "lnbits_admin_extensions", - "lnbits_disabled_extensions", pre=True, ) def validate_editable_settings(cls, val): From 0ca4b8dea10865c1264dd51b5814453acd98abf9 Mon Sep 17 00:00:00 2001 From: jacksn Date: Sun, 5 Mar 2023 21:44:25 +0100 Subject: [PATCH 2/2] remove lnbits_disabled_extensions from .env.example and admin ui --- .env.example | 2 -- lnbits/core/templates/admin/_tab_server.html | 12 ------------ 2 files changed, 14 deletions(-) diff --git a/.env.example b/.env.example index 83249c52..5670f793 100644 --- a/.env.example +++ b/.env.example @@ -30,8 +30,6 @@ LNBITS_DEFAULT_WALLET_NAME="LNbits wallet" # Hides wallet api, extensions can choose to honor LNBITS_HIDE_API=false -# Disable extensions for all users, use "all" to disable all extensions -LNBITS_DISABLED_EXTENSIONS="amilk" # LNBITS_EXTENSIONS_MANIFESTS="https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions.json,https://raw.githubusercontent.com/lnbits/lnbits-extensions/main/extensions-trial.json" # GitHub has rate-limits for its APIs. The limit can be increased specifying a GITHUB_TOKEN # LNBITS_EXT_GITHUB_TOKEN=github_pat_xxxxxxxxxxxxxxxxxx diff --git a/lnbits/core/templates/admin/_tab_server.html b/lnbits/core/templates/admin/_tab_server.html index 8562160b..814a490f 100644 --- a/lnbits/core/templates/admin/_tab_server.html +++ b/lnbits/core/templates/admin/_tab_server.html @@ -67,18 +67,6 @@ >
-
-

Disabled Extensions

- -
-