[Enhancement] Auto-update yt-dlp (#589)

* Added a command for updating yt-dlp

* Added a yt-dlp update worker to run daily

* Added a new file that runs post-boot when the app is ready to serve requests; put yt-dlp updater in there

* Updated config to expose the current env globally; updated startup tasks to not run in test env

* Removes unneeded test code
This commit is contained in:
Kieran authored and GitHub committed 2025-01-27 11:33:38 -08:00
1 parent 62214b80a6
commit 6ead29182d
14 files changed
+202 -26

No files matched your search

+18
View File
@@ -76,6 +76,24 @@ defmodule Pinchflat.YtDlp.CommandRunner do
end
end
@doc """
Updates yt-dlp to the latest version
Returns {:ok, binary()} | {:error, binary()}
"""
@impl YtDlpCommandRunner
def update do
command = backend_executable()
case CliUtils.wrap_cmd(command, ["--update"]) do
{output, 0} ->
{:ok, String.trim(output)}
{output, _} ->
{:error, output}
end
end
defp generate_output_filepath(addl_opts) do
case Keyword.get(addl_opts, :output_filepath) do
nil -> FSUtils.generate_metadata_tmpfile(:json)