This commit is contained in:
benarc
2022-02-07 20:43:47 +00:00
parent a7c65d5d60
commit 4b11342f0c
4 changed files with 41 additions and 11 deletions
+4
View File
@@ -15,6 +15,7 @@ import lnbits.settings as settings
class Extension(NamedTuple):
code: str
is_valid: bool
is_admin_only: bool
name: Optional[str] = None
short_description: Optional[str] = None
icon: Optional[str] = None
@@ -25,6 +26,7 @@ class Extension(NamedTuple):
class ExtensionManager:
def __init__(self):
self._disabled: List[str] = settings.LNBITS_DISABLED_EXTENSIONS
self._admin_only: List[str] = [x.strip(' ') for x in settings.LNBITS_ADMIN_EXTENSIONS]
self._extension_folders: List[str] = [
x[1] for x in os.walk(os.path.join(settings.LNBITS_PATH, "extensions"))
][0]
@@ -47,6 +49,7 @@ class ExtensionManager:
) as json_file:
config = json.load(json_file)
is_valid = True
is_admin_only = True if extension in self._admin_only else False
except Exception:
config = {}
is_valid = False
@@ -55,6 +58,7 @@ class ExtensionManager:
Extension(
extension,
is_valid,
is_admin_only,
config.get("name"),
config.get("short_description"),
config.get("icon"),