From affe196ff662f698ff5927f8ab64e9fa1fe8e669 Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Fri, 15 Mar 2024 15:04:34 -0400 Subject: [PATCH] machine: move default allowed services to an asset file Signed-off-by: Eric Callahan --- moonraker/assets/default_allowed_services | 10 +++++++ moonraker/components/machine.py | 32 +++++++---------------- 2 files changed, 20 insertions(+), 22 deletions(-) create mode 100644 moonraker/assets/default_allowed_services diff --git a/moonraker/assets/default_allowed_services b/moonraker/assets/default_allowed_services new file mode 100644 index 0000000..c8a1af5 --- /dev/null +++ b/moonraker/assets/default_allowed_services @@ -0,0 +1,10 @@ +klipper_mcu +webcamd +MoonCord +KlipperScreen +moonraker-telegram-bot +moonraker-obico +sonar +crowsnest +octoeverywhere +ratos-configurator diff --git a/moonraker/components/machine.py b/moonraker/components/machine.py index c78c602..b05169d 100644 --- a/moonraker/components/machine.py +++ b/moonraker/components/machine.py @@ -56,18 +56,6 @@ if TYPE_CHECKING: SudoReturn = Union[Awaitable[Tuple[str, bool]], Tuple[str, bool]] SudoCallback = Callable[[], SudoReturn] -DEFAULT_ALLOWED_SERVICES = [ - "klipper_mcu", - "webcamd", - "MoonCord", - "KlipperScreen", - "moonraker-telegram-bot", - "moonraker-obico", - "sonar", - "crowsnest", - "octoeverywhere", - "ratos-configurator" -] CGROUP_PATH = "/proc/1/cgroup" SCHED_PATH = "/proc/1/sched" SYSTEMD_PATH = "/etc/systemd/system" @@ -198,20 +186,20 @@ class Machine: fpath = pathlib.Path(data_path).joinpath("moonraker.asvc") fm: FileManager = self.server.lookup_component("file_manager") fm.add_reserved_path("allowed_services", fpath, False) + default_svcs = source_info.read_asset("default_allowed_services") or "" try: if not fpath.exists(): - fpath.write_text("\n".join(DEFAULT_ALLOWED_SERVICES)) + fpath.write_text(default_svcs) data = fpath.read_text() except Exception: - logging.exception("Failed to read allowed_services.txt") - self._allowed_services = DEFAULT_ALLOWED_SERVICES - else: - svcs = [svc.strip() for svc in data.split("\n") if svc.strip()] - for svc in svcs: - if svc.endswith(".service"): - svc = svc.rsplit(".", 1)[0] - if svc not in self._allowed_services: - self._allowed_services.append(svc) + logging.exception("Failed to read moonraker.asvc") + data = default_svcs + svcs = [svc.strip() for svc in data.split("\n") if svc.strip()] + for svc in svcs: + if svc.endswith(".service"): + svc = svc.rsplit(".", 1)[0] + if svc not in self._allowed_services: + self._allowed_services.append(svc) def _update_log_rollover(self, log: bool = False) -> None: sys_info_msg = "\nSystem Info:"