Fallback to empty MediaServerEngine if init fails

If MediaServerEngine init raised, ``media_server_engine`` was set
to None. Every downstream caller (now that the per-server globals
are gone) does ``media_server_engine.client('plex')`` style access
— which would AttributeError on the None.

Pre-refactor each per-server global had its own try/except so engine
failure didn't take down per-server dispatch sites. Preserve that
resilience by falling back to an empty MediaServerEngine — its
``client(name)`` returns None, downstream truthy checks treat that
as "not configured" exactly the same way the legacy globals did.
pull/497/head
Broque Thomas 3 weeks ago
parent edb6d1bc33
commit 03d1c36637

@ -612,7 +612,17 @@ try:
logger.info(" Media server engine initialized")
except Exception as e:
logger.error(f" Media server engine failed to initialize: {e}")
media_server_engine = None
# Fallback: empty engine so downstream `engine.client('plex')`
# returns None instead of AttributeError'ing on a None engine
# global. Pre-refactor each per-server client global was its own
# try/except so engine failure didn't take down dispatch sites;
# this preserves that resilience.
try:
from core.media_server.engine import MediaServerEngine, set_media_server_engine
media_server_engine = MediaServerEngine(clients={})
set_media_server_engine(media_server_engine)
except Exception:
media_server_engine = None
try:
soulseek_client = DownloadOrchestrator()

Loading…
Cancel
Save