Added setting for form; updated setting name
This commit is contained in:
parent
7f2ec1e802
commit
2cbcf263e0
7 changed files with 21 additions and 13 deletions
|
|
@ -15,7 +15,7 @@ defmodule Pinchflat.Settings.Setting do
|
|||
:video_codec_preference,
|
||||
:audio_codec_preference,
|
||||
:youtube_api_key,
|
||||
:extractor_sleep_interval
|
||||
:extractor_sleep_interval_seconds
|
||||
]
|
||||
|
||||
@required_fields [
|
||||
|
|
@ -23,7 +23,7 @@ defmodule Pinchflat.Settings.Setting do
|
|||
:pro_enabled,
|
||||
:video_codec_preference,
|
||||
:audio_codec_preference,
|
||||
:extractor_sleep_interval
|
||||
:extractor_sleep_interval_seconds
|
||||
]
|
||||
|
||||
schema "settings" do
|
||||
|
|
@ -34,7 +34,7 @@ defmodule Pinchflat.Settings.Setting do
|
|||
field :apprise_server, :string
|
||||
field :youtube_api_key, :string
|
||||
field :route_token, :string
|
||||
field :extractor_sleep_interval, :integer, default: 0
|
||||
field :extractor_sleep_interval_seconds, :integer, default: 0
|
||||
|
||||
field :video_codec_preference, :string
|
||||
field :audio_codec_preference, :string
|
||||
|
|
@ -45,6 +45,6 @@ defmodule Pinchflat.Settings.Setting do
|
|||
setting
|
||||
|> cast(attrs, @allowed_fields)
|
||||
|> validate_required(@required_fields)
|
||||
|> validate_number(:extractor_sleep_interval, greater_than: 0)
|
||||
|> validate_number(:extractor_sleep_interval_seconds, greater_than: 0)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ defmodule Pinchflat.YtDlp.CommandRunner do
|
|||
end
|
||||
|
||||
defp sleep_interval_opts(addl_opts) do
|
||||
sleep_interval = Settings.get!(:extractor_sleep_interval)
|
||||
sleep_interval = Settings.get!(:extractor_sleep_interval_seconds)
|
||||
|
||||
if sleep_interval <= 0 || Keyword.get(addl_opts, :skip_sleep_interval) do
|
||||
[]
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<section class="mt-8">
|
||||
<section>
|
||||
<h3 class="text-2xl text-black dark:text-white">
|
||||
Indexing Settings
|
||||
Extractor Settings
|
||||
</h3>
|
||||
|
||||
<.input
|
||||
|
|
@ -41,6 +41,14 @@
|
|||
html_help={true}
|
||||
inputclass="font-mono text-sm mr-4"
|
||||
/>
|
||||
|
||||
<.input
|
||||
field={f[:extractor_sleep_interval_seconds]}
|
||||
placeholder="0"
|
||||
type="number"
|
||||
label="Sleep Interval"
|
||||
help="Sleep interval in seconds between each extractor request. Must be a positive whole number (or set to 0 to disable)"
|
||||
/>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 443 KiB After Width: | Height: | Size: 443 KiB |
|
|
@ -3,7 +3,7 @@ defmodule Pinchflat.Repo.Migrations.AddExtractorSleepIntervalToSettings do
|
|||
|
||||
def change do
|
||||
alter table(:settings) do
|
||||
add :extractor_sleep_interval, :number, null: false, default: 0
|
||||
add :extractor_sleep_interval_seconds, :number, null: false, default: 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -81,9 +81,9 @@ defmodule Pinchflat.SettingsTest do
|
|||
test "ensures the extractor sleep interval is positive" do
|
||||
setting = Settings.record()
|
||||
|
||||
assert %Ecto.Changeset{valid?: true} = Settings.change_setting(setting, %{extractor_sleep_interval: 1})
|
||||
assert %Ecto.Changeset{valid?: true} = Settings.change_setting(setting, %{extractor_sleep_interval: 0})
|
||||
assert %Ecto.Changeset{valid?: false} = Settings.change_setting(setting, %{extractor_sleep_interval: -1})
|
||||
assert %Ecto.Changeset{valid?: true} = Settings.change_setting(setting, %{extractor_sleep_interval_seconds: 1})
|
||||
assert %Ecto.Changeset{valid?: true} = Settings.change_setting(setting, %{extractor_sleep_interval_seconds: 0})
|
||||
assert %Ecto.Changeset{valid?: false} = Settings.change_setting(setting, %{extractor_sleep_interval_seconds: -1})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ defmodule Pinchflat.YtDlp.CommandRunnerTest do
|
|||
|
||||
describe "run/4 when testing sleep interval options" do
|
||||
test "includes sleep interval options by default" do
|
||||
Settings.set(extractor_sleep_interval: 5)
|
||||
Settings.set(extractor_sleep_interval_seconds: 5)
|
||||
|
||||
assert {:ok, output} = Runner.run(@media_url, :foo, [], "")
|
||||
|
||||
|
|
@ -115,8 +115,8 @@ defmodule Pinchflat.YtDlp.CommandRunnerTest do
|
|||
refute String.contains?(output, "--sleep-subtitles")
|
||||
end
|
||||
|
||||
test "doesn't include sleep interval options when extractor_sleep_interval is 0" do
|
||||
Settings.set(extractor_sleep_interval: 0)
|
||||
test "doesn't include sleep interval options when extractor_sleep_interval_seconds is 0" do
|
||||
Settings.set(extractor_sleep_interval_seconds: 0)
|
||||
|
||||
assert {:ok, output} = Runner.run(@media_url, :foo, [], "")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue