From e98fe97f1f1b73f831a23df52c434b6c5bf54719 Mon Sep 17 00:00:00 2001 From: Kieran Eglin Date: Fri, 8 Nov 2024 12:29:50 -0800 Subject: [PATCH] Added new script type to pre-job startup tasks --- lib/pinchflat/boot/pre_job_startup_tasks.ex | 10 ++++++++++ lib/pinchflat/lifecycle/user_scripts/command_runner.ex | 1 + 2 files changed, 11 insertions(+) diff --git a/lib/pinchflat/boot/pre_job_startup_tasks.ex b/lib/pinchflat/boot/pre_job_startup_tasks.ex index 85fb399..725fc15 100644 --- a/lib/pinchflat/boot/pre_job_startup_tasks.ex +++ b/lib/pinchflat/boot/pre_job_startup_tasks.ex @@ -16,6 +16,8 @@ defmodule Pinchflat.Boot.PreJobStartupTasks do alias Pinchflat.Settings alias Pinchflat.Utils.FilesystemUtils + alias Pinchflat.Lifecycle.UserScripts.CommandRunner, as: UserScriptRunner + def start_link(opts \\ []) do GenServer.start_link(__MODULE__, %{}, opts) end @@ -36,6 +38,7 @@ defmodule Pinchflat.Boot.PreJobStartupTasks do create_blank_yt_dlp_files() create_blank_user_script_file() apply_default_settings() + run_app_init_script() {:ok, state} end @@ -95,6 +98,13 @@ defmodule Pinchflat.Boot.PreJobStartupTasks do Settings.set(apprise_version: apprise_version) end + # TODO: test + defp run_app_init_script do + runner = Application.get_env(:pinchflat, :user_script_runner, UserScriptRunner) + + runner.run(:app_init, %{}) + end + defp yt_dlp_runner do Application.get_env(:pinchflat, :yt_dlp_runner) end diff --git a/lib/pinchflat/lifecycle/user_scripts/command_runner.ex b/lib/pinchflat/lifecycle/user_scripts/command_runner.ex index 54aa38c..9a77ea5 100644 --- a/lib/pinchflat/lifecycle/user_scripts/command_runner.ex +++ b/lib/pinchflat/lifecycle/user_scripts/command_runner.ex @@ -12,6 +12,7 @@ defmodule Pinchflat.Lifecycle.UserScripts.CommandRunner do @behaviour UserScriptCommandRunner @event_types [ + :app_init, :media_pre_download, :media_downloaded, :media_deleted