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.
This commit is contained in:
parent
edb6d1bc33
commit
03d1c36637
1 changed files with 11 additions and 1 deletions
|
|
@ -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…
Reference in a new issue