Skip to content

Commit 6ba1299

Browse files
committed
feat(core-services): add Zilean sponsorship URL and enhance core service handling in wait entries
1 parent fdda589 commit 6ba1299

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

api/routers/process.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class UnifiedStartRequest(BaseModel):
8989
"seerr": "https://opencollective.com/seerr",
9090
"traefik": "https://github.com/sponsors/traefik",
9191
"huntarr": "https://plexguide.github.io/Huntarr.io/donate.html",
92+
"zilean": "https://ko-fi.com/W7W616IBNG",
9293
}
9394

9495
DEFAULT_SERVICE_PORTS = {

main.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from utils.auto_update import Update
99
from utils.dependencies import initialize_dependencies
1010
from utils.core_services import has_core_service
11+
from utils.core_services import get_core_services
1112
from utils.plex_dbrepair import start_plex_dbrepair_worker
1213
from utils.ffprobe_monitor import start_ffprobe_monitor
1314
from utils.setup import setup_project
@@ -519,7 +520,7 @@ def _build_plex_wait_entries(config_manager) -> list[dict]:
519520
base_url = f"{parsed.scheme}://{host}"
520521
if not base_url:
521522
base_url = f"http://127.0.0.1:{plex_port}"
522-
return [{"url": f"{base_url}/identity"}]
523+
return [{"url": f"{base_url}/identity", "core_service": "plex"}]
523524

524525

525526
def _build_media_wait_entries(config_manager) -> list[dict]:
@@ -533,7 +534,9 @@ def _build_media_wait_entries(config_manager) -> list[dict]:
533534
port = cfg.get("port")
534535
if not port:
535536
continue
536-
wait_entries.append({"url": f"http://127.0.0.1:{port}/System/Info/Public"})
537+
wait_entries.append(
538+
{"url": f"http://127.0.0.1:{port}/System/Info/Public", "core_service": key}
539+
)
537540
return wait_entries
538541

539542

@@ -543,12 +546,31 @@ def _apply_waits_to_service(config_manager, key: str, wait_entries: list[dict])
543546
cfg = config_manager.get(key, {})
544547
if not isinstance(cfg, dict):
545548
return
549+
core_key = key.strip().lower()
546550
if "instances" in cfg and isinstance(cfg["instances"], dict):
547551
for inst in cfg["instances"].values():
548552
if isinstance(inst, dict) and inst.get("enabled"):
549-
_set_wait_for_urls(inst, wait_entries)
553+
inst_entries = wait_entries
554+
if core_key == "seerr":
555+
core_services = get_core_services(inst)
556+
if core_services:
557+
inst_entries = [
558+
entry
559+
for entry in wait_entries
560+
if entry.get("core_service") in core_services
561+
]
562+
_set_wait_for_urls(inst, inst_entries)
550563
elif cfg.get("enabled"):
551-
_set_wait_for_urls(cfg, wait_entries)
564+
inst_entries = wait_entries
565+
if core_key == "seerr":
566+
core_services = get_core_services(cfg)
567+
if core_services:
568+
inst_entries = [
569+
entry
570+
for entry in wait_entries
571+
if entry.get("core_service") in core_services
572+
]
573+
_set_wait_for_urls(cfg, inst_entries)
552574

553575

554576
def _collect_preinstall_targets(config_manager) -> list[tuple[str, str]]:

0 commit comments

Comments
 (0)