Initializes Fava client on startup
Initializes the Fava client with default settings when the Castle extension starts. This ensures the client is ready to interact with Fava immediately and provides feedback if Fava is not configured correctly. The client is re-initialized if the admin updates settings later.
This commit is contained in:
parent
2e862d0ebd
commit
750692a2f0
1 changed files with 17 additions and 0 deletions
17
__init__.py
17
__init__.py
|
|
@ -34,7 +34,24 @@ def castle_stop():
|
||||||
def castle_start():
|
def castle_start():
|
||||||
"""Initialize Castle extension background tasks"""
|
"""Initialize Castle extension background tasks"""
|
||||||
from lnbits.tasks import create_permanent_unique_task
|
from lnbits.tasks import create_permanent_unique_task
|
||||||
|
from .fava_client import init_fava_client
|
||||||
|
from .models import CastleSettings
|
||||||
|
|
||||||
|
# Initialize Fava client with default settings
|
||||||
|
# (Will be re-initialized if admin updates settings)
|
||||||
|
defaults = CastleSettings()
|
||||||
|
try:
|
||||||
|
init_fava_client(
|
||||||
|
fava_url=defaults.fava_url,
|
||||||
|
ledger_slug=defaults.fava_ledger_slug,
|
||||||
|
timeout=defaults.fava_timeout
|
||||||
|
)
|
||||||
|
logger.info(f"Fava client initialized: {defaults.fava_url}/{defaults.fava_ledger_slug}")
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to initialize Fava client: {e}")
|
||||||
|
logger.warning("Castle will not function without Fava. Please configure Fava settings.")
|
||||||
|
|
||||||
|
# Start background tasks
|
||||||
task = create_permanent_unique_task("ext_castle", wait_for_paid_invoices)
|
task = create_permanent_unique_task("ext_castle", wait_for_paid_invoices)
|
||||||
scheduled_tasks.append(task)
|
scheduled_tasks.append(task)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue