From 9d67c8e4e58909c3ae4583e866d41b6d714ffc48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dni=20=E2=9A=A1?= Date: Mon, 5 Dec 2022 17:50:13 +0100 Subject: [PATCH] checks, redundant error handling --- lnbits/extensions/admin/crud.py | 6 ++++-- lnbits/extensions/admin/models.py | 1 - lnbits/extensions/admin/views_api.py | 7 ++++++- lnbits/settings.py | 27 +++++++++------------------ 4 files changed, 19 insertions(+), 22 deletions(-) diff --git a/lnbits/extensions/admin/crud.py b/lnbits/extensions/admin/crud.py index 46298601e..8e4078402 100644 --- a/lnbits/extensions/admin/crud.py +++ b/lnbits/extensions/admin/crud.py @@ -29,7 +29,9 @@ async def update_wallet_balance(wallet_id: str, amount: int): async def get_admin_settings() -> AdminSettings: row = await db.fetchone("SELECT * FROM admin.settings") - admin_settings = AdminSettings(**row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources) + admin_settings = AdminSettings( + **row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources + ) for key, _ in row.items(): if hasattr(admin_settings, key): setattr(admin_settings, key, getattr(settings, key)) @@ -38,7 +40,7 @@ async def get_admin_settings() -> AdminSettings: async def update_admin_settings(data: UpdateSettings) -> Optional[AdminSettings]: fields = [] - for key, value in data.items(): + for key, value in data.dict().items(): if not key in readonly_variables: setattr(settings, key, value) if type(value) == list: diff --git a/lnbits/extensions/admin/models.py b/lnbits/extensions/admin/models.py index 04c1d5823..0a9c09026 100644 --- a/lnbits/extensions/admin/models.py +++ b/lnbits/extensions/admin/models.py @@ -5,7 +5,6 @@ from pydantic import BaseModel, validator class UpdateSettings(BaseModel): - @validator( "lnbits_admin_users", "lnbits_allowed_users", diff --git a/lnbits/extensions/admin/views_api.py b/lnbits/extensions/admin/views_api.py index a39d67524..43392ff3c 100644 --- a/lnbits/extensions/admin/views_api.py +++ b/lnbits/extensions/admin/views_api.py @@ -10,7 +10,12 @@ from lnbits.extensions.admin import admin_ext from lnbits.extensions.admin.models import AdminSettings, UpdateSettings from lnbits.server import server_restart -from .crud import delete_admin_settings, get_admin_settings, update_admin_settings, update_wallet_balance +from .crud import ( + delete_admin_settings, + get_admin_settings, + update_admin_settings, + update_wallet_balance, +) @admin_ext.get( diff --git a/lnbits/settings.py b/lnbits/settings.py index c49c98866..3ec6f15a3 100644 --- a/lnbits/settings.py +++ b/lnbits/settings.py @@ -10,7 +10,6 @@ from loguru import logger from pydantic import BaseSettings, Field, validator - def list_parse_fallback(v): try: return json.loads(v) @@ -200,12 +199,7 @@ def set_cli_settings(**kwargs): async def check_admin_settings(): if settings.lnbits_admin_ui: - try: - ext_db = importlib.import_module(f"lnbits.extensions.admin").db - except: - logger.error("could not import module lnbits.extensions.admin database") - raise - + ext_db = importlib.import_module(f"lnbits.extensions.admin").db async with ext_db.connect() as db: row = await db.fetchone("SELECT * FROM admin.settings") @@ -218,15 +212,17 @@ async def check_admin_settings(): # setting settings from database into memory from lnbits.extensions.admin.models import AdminSettings - sets = AdminSettings(**row, lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources) + + sets = AdminSettings( + **row, + lnbits_allowed_funding_sources=settings.lnbits_allowed_funding_sources, + ) for key, value in sets.dict().items(): if not key in readonly_variables: try: setattr(settings, key, value) except: - logger.error( - f"error overriding setting: {key}, value: {value}" - ) + logger.error(f"error overriding setting: {key}, value: {value}") # printing settings for debugging logger.debug(f"Admin settings:") @@ -235,12 +231,9 @@ async def check_admin_settings(): http = "https" if settings.lnbits_force_https else "http" user = settings.lnbits_admin_users[0] - admin_url = ( - f"{http}://{settings.host}:{settings.port}/wallet?usr={user}" - ) + admin_url = f"{http}://{settings.host}:{settings.port}/wallet?usr={user}" logger.success(f"✔️ Access admin user account at: {admin_url}") - # callback for saas if ( settings.lnbits_saas_callback @@ -286,9 +279,7 @@ async def create_admin_settings(db): v = values.rstrip(",") sql = f"INSERT INTO admin.settings ({q}) VALUES ({v})" await db.execute(sql) - logger.warning( - "initialized admin.settings from enviroment variables." - ) + logger.warning("initialized admin.settings from enviroment variables.") row = await db.fetchone("SELECT * FROM admin.settings") assert row, "Newly updated settings couldn't be retrieved" return row