pinchflat/lib/pinchflat/yt_dlp/yt_dlp_command_runner.ex
Kieran 26d457e656 [Enhancement] Add Apprise support (#170)
* [WIP] add settings sidebar entry and placeholder page

* [WIP] added placeholder UI and logic for settings form

* Added column and UI for apprise server

* Add some tests

* Added placeholder command runner for apprise

* [WIP] Adding apprise package

* Added apprise command runner

* Hooked up apprise notification module

* Ensured apprise was running in verbose mode

* Updated wording of apprise notification

* Added apprise to README
2024-04-09 17:45:39 -07:00

12 lines
514 B
Elixir

defmodule Pinchflat.YtDlp.YtDlpCommandRunner do
@moduledoc """
A behaviour for running CLI commands against a downloader backend (yt-dlp).
Used so we can implement Mox for testing without actually running the
yt-dlp command.
"""
@callback run(binary(), keyword(), binary()) :: {:ok, binary()} | {:error, binary(), integer()}
@callback run(binary(), keyword(), binary(), keyword()) :: {:ok, binary()} | {:error, binary(), integer()}
@callback version() :: {:ok, binary()} | {:error, binary()}
end