From 2d1d5311b430000ea8262a17469e70cbe62d4feb Mon Sep 17 00:00:00 2001 From: Kieran Eglin Date: Sun, 24 Mar 2024 17:19:27 -0700 Subject: [PATCH] Added new extras directory --- .iex.exs | 2 ++ config/config.exs | 1 + config/dev.exs | 1 + config/runtime.exs | 4 ++++ lib/pinchflat/release.ex | 1 + test/test_helper.exs | 2 ++ 6 files changed, 11 insertions(+) diff --git a/.iex.exs b/.iex.exs index 2d68cf5..ebe1a24 100644 --- a/.iex.exs +++ b/.iex.exs @@ -21,3 +21,5 @@ alias Pinchflat.FastIndexing.YoutubeRss alias Pinchflat.Metadata.MetadataFileHelpers alias Pinchflat.SlowIndexing.FileFollowerServer + +Pinchflat.Release.check_file_permissions() diff --git a/config/config.exs b/config/config.exs index e1f5e1d..76f4b01 100644 --- a/config/config.exs +++ b/config/config.exs @@ -16,6 +16,7 @@ config :pinchflat, media_directory: "/downloads", # The user may or may not store metadata for their needs, but the app will always store its copy metadata_directory: "/config/metadata", + extras_directory: "/config/extras", tmpfile_directory: Path.join([System.tmp_dir!(), "pinchflat", "data"]), # Setting BASIC_AUTH_USERNAME and BASIC_AUTH_PASSWORD implies you want to use basic auth. # If either is unset, basic auth will not be used. diff --git a/config/dev.exs b/config/dev.exs index cedbe26..887322b 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -3,6 +3,7 @@ import Config config :pinchflat, media_directory: Path.join([File.cwd!(), "tmp", "media"]), metadata_directory: Path.join([File.cwd!(), "tmp", "metadata"]), + extras_directory: Path.join([File.cwd!(), "tmp", "extras"]), tmpfile_directory: Path.join([File.cwd!(), "tmp", "tmpfiles"]) # Configure your database diff --git a/config/runtime.exs b/config/runtime.exs index 89d1d1a..408492a 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -51,6 +51,7 @@ if config_env() == :prod do db_path = System.get_env("DATABASE_PATH", Path.join([config_path, "db", "pinchflat.db"])) log_path = System.get_env("LOG_PATH", Path.join([config_path, "logs", "pinchflat.log"])) metadata_path = System.get_env("METADATA_PATH", Path.join([config_path, "metadata"])) + extras_path = System.get_env("EXTRAS_PATH", Path.join([config_path, "extras"])) # We want to force _some_ level of useful logging in production acceptable_log_levels = ~w(debug info)a @@ -65,7 +66,10 @@ if config_env() == :prod do config :pinchflat, yt_dlp_executable: System.find_executable("yt-dlp"), + media_directory: "/downloads", metadata_directory: metadata_path, + extras_directory: extras_path, + tmpfile_directory: Path.join([System.tmp_dir!(), "pinchflat", "data"]), dns_cluster_query: System.get_env("DNS_CLUSTER_QUERY") config :pinchflat, Pinchflat.Repo, diff --git a/lib/pinchflat/release.ex b/lib/pinchflat/release.ex index c47200a..a7e067b 100644 --- a/lib/pinchflat/release.ex +++ b/lib/pinchflat/release.ex @@ -30,6 +30,7 @@ defmodule Pinchflat.Release do "/downloads", Application.get_env(:pinchflat, :media_directory), Application.get_env(:pinchflat, :tmpfile_directory), + Application.get_env(:pinchflat, :extras_directory), Application.get_env(:pinchflat, :metadata_directory) ] diff --git a/test/test_helper.exs b/test/test_helper.exs index 887534c..bea0589 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -11,9 +11,11 @@ Faker.start() ExUnit.after_suite(fn _ -> File.rm_rf!(Application.get_env(:pinchflat, :media_directory)) File.rm_rf!(Application.get_env(:pinchflat, :metadata_directory)) + File.rm_rf!(Application.get_env(:pinchflat, :extras_directory)) File.rm_rf!(Application.get_env(:pinchflat, :tmpfile_directory)) File.mkdir_p!(Application.get_env(:pinchflat, :media_directory)) File.mkdir_p!(Application.get_env(:pinchflat, :metadata_directory)) + File.mkdir_p!(Application.get_env(:pinchflat, :extras_directory)) File.mkdir_p!(Application.get_env(:pinchflat, :tmpfile_directory)) end)