From 9d3b9cc063f6cf6395d7ac72f4e3f68158e57a5a Mon Sep 17 00:00:00 2001 From: Kieran Date: Thu, 15 Feb 2024 13:51:19 -0800 Subject: [PATCH] Delete media items (#20) * Added method for deleting media files and their content * Adds controllers and methods for deleting media and files * Improved tmpfile setup and teardown for tests * Actually got tmpfile cleanup running once per suite run * Finally fixed flash messages --- config/test.exs | 4 +- lib/pinchflat/media.ex | 47 ++++++++++- lib/pinchflat/media/media_item.ex | 5 ++ lib/pinchflat/media_source.ex | 2 + .../components/core_components.ex | 53 +++++++------ .../media/media_item_controller.ex | 19 +++++ .../media/media_item_html/show.html.heex | 13 +++- .../searches/search_html/show.html.heex | 5 +- lib/pinchflat_web/router.ex | 3 +- test/pinchflat/media_test.exs | 73 ++++++++++++++++++ .../yt_dlp/download_option_builder_test.exs | 2 +- .../media_item_controller_test.exs | 61 ++++++++++++++- test/support/conn_case.ex | 1 + test/support/data_case.ex | 14 ++++ test/support/files/media.mkv | Bin 0 -> 70712 bytes test/support/fixtures/media_fixtures.ex | 28 ++++++- test/test_helper.exs | 8 ++ 17 files changed, 305 insertions(+), 33 deletions(-) create mode 100644 test/support/files/media.mkv diff --git a/config/test.exs b/config/test.exs index b2d8614..94e1919 100644 --- a/config/test.exs +++ b/config/test.exs @@ -3,8 +3,8 @@ import Config config :pinchflat, # Specifying backend data here makes mocking and local testing SUPER easy yt_dlp_executable: Path.join([File.cwd!(), "/test/support/scripts/yt-dlp-mocks/repeater.sh"]), - media_directory: Path.join([System.tmp_dir!(), "videos"]), - metadata_directory: Path.join([System.tmp_dir!(), "metadata"]) + media_directory: Path.join([System.tmp_dir!(), "test", "videos"]), + metadata_directory: Path.join([System.tmp_dir!(), "test", "metadata"]) config :pinchflat, Oban, testing: :manual diff --git a/lib/pinchflat/media.ex b/lib/pinchflat/media.ex index 6bd21ea..14ae494 100644 --- a/lib/pinchflat/media.ex +++ b/lib/pinchflat/media.ex @@ -88,6 +88,22 @@ defmodule Pinchflat.Media do """ def get_media_item!(id), do: Repo.get!(MediaItem, id) + @doc """ + Produces a flat list of the filesystem paths for a media_item's downloaded files + + Returns [binary()] + """ + def media_filepaths(media_item) do + mapped_struct = Map.from_struct(media_item) + + MediaItem.filepath_attributes() + |> Enum.map(fn + :subtitle_filepaths = field -> Enum.map(mapped_struct[field], fn [_, filepath] -> filepath end) + field -> List.wrap(mapped_struct[field]) + end) + |> List.flatten() + end + @doc """ Creates a media_item. Returns {:ok, %MediaItem{}} | {:error, %Ecto.Changeset{}}. """ @@ -107,7 +123,7 @@ defmodule Pinchflat.Media do end @doc """ - Deletes a media_item and its associated tasks. + Deletes a media_item and its associated tasks. Will leave files on disk. Returns {:ok, %MediaItem{}} | {:error, %Ecto.Changeset{}}. """ @@ -116,6 +132,35 @@ defmodule Pinchflat.Media do Repo.delete(media_item) end + @doc """ + Deletes the media_item's associated files. Will leave the media_item in the database. + + Returns {:ok, %MediaItem{}} + """ + def delete_attachments(media_item) do + media_item + |> media_filepaths() + |> Enum.each(&File.rm/1) + + # Fails if the directory is not empty + case File.rmdir(Path.dirname(media_item.media_filepath)) do + :ok -> {:ok, media_item} + {:error, :eexist} -> {:ok, media_item} + end + end + + @doc """ + Deletes the media_item and all associated files. Attempts to delete the root directory + but only if it is empty. + + Returns {:ok, %MediaItem{}} + """ + def delete_media_item_and_attachments(media_item) do + {:ok, _} = delete_attachments(media_item) + + delete_media_item(media_item) + end + @doc """ Returns an `%Ecto.Changeset{}` for tracking media_item changes. """ diff --git a/lib/pinchflat/media/media_item.ex b/lib/pinchflat/media/media_item.ex index 838cc14..b43a1a2 100644 --- a/lib/pinchflat/media/media_item.ex +++ b/lib/pinchflat/media/media_item.ex @@ -60,4 +60,9 @@ defmodule Pinchflat.Media.MediaItem do |> validate_required(@required_fields) |> unique_constraint([:media_id, :source_id]) end + + @doc false + def filepath_attributes do + ~w(media_filepath thumbnail_filepath metadata_filepath subtitle_filepaths)a + end end diff --git a/lib/pinchflat/media_source.ex b/lib/pinchflat/media_source.ex index e7c8abb..46fab79 100644 --- a/lib/pinchflat/media_source.ex +++ b/lib/pinchflat/media_source.ex @@ -56,6 +56,8 @@ defmodule Pinchflat.MediaSource do @doc """ Deletes a source and it's associated tasks (of any state). + NOTE: will fail if the source has associated media items. Intended + for now, will almost certainly change in the future. Returns {:ok, %Source{}} | {:error, %Ecto.Changeset{}} """ diff --git a/lib/pinchflat_web/components/core_components.ex b/lib/pinchflat_web/components/core_components.ex index 5c7c073..bcf8e02 100644 --- a/lib/pinchflat_web/components/core_components.ex +++ b/lib/pinchflat_web/components/core_components.ex @@ -112,24 +112,29 @@ defmodule PinchflatWeb.CoreComponents do
hide("##{@id}")} + class="pb-8" role="alert" - class={[ - "fixed top-2 right-2 mr-2 w-80 sm:w-96 z-50 rounded-lg p-3 ring-1", - @kind == :info && "bg-emerald-50 text-emerald-800 ring-emerald-500 fill-cyan-900", - @kind == :error && "bg-rose-50 text-rose-900 shadow-md ring-rose-500 fill-rose-900" - ]} {@rest} > -

- <.icon :if={@kind == :info} name="hero-information-circle-mini" class="h-4 w-4" /> - <.icon :if={@kind == :error} name="hero-exclamation-circle-mini" class="h-4 w-4" /> - <%= @title %> -

-

<%= msg %>

- +
+
+
+ <%= @title %> +
+

<%= msg %>

+
+ +
""" end @@ -146,7 +151,7 @@ defmodule PinchflatWeb.CoreComponents do def flash_group(assigns) do ~H""" -
+
<.flash kind={:info} title="Success!" flash={@flash} /> <.flash kind={:error} title="Error!" flash={@flash} /> <.flash @@ -632,9 +637,11 @@ defmodule PinchflatWeb.CoreComponents do def show(js \\ %JS{}, selector) do JS.show(js, to: selector, - transition: - {"transition-all transform ease-out duration-300", "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95", - "opacity-100 translate-y-0 sm:scale-100"} + transition: { + "transition-all transform ease-out duration-300", + "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95", + "opacity-100 translate-y-0 sm:scale-100" + } ) end @@ -642,9 +649,11 @@ defmodule PinchflatWeb.CoreComponents do JS.hide(js, to: selector, time: 200, - transition: - {"transition-all transform ease-in duration-200", "opacity-100 translate-y-0 sm:scale-100", - "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"} + transition: { + "transition-all transform ease-in duration-200", + "opacity-100 translate-y-0 sm:scale-100", + "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" + } ) end diff --git a/lib/pinchflat_web/controllers/media/media_item_controller.ex b/lib/pinchflat_web/controllers/media/media_item_controller.ex index 3db81d4..398bd32 100644 --- a/lib/pinchflat_web/controllers/media/media_item_controller.ex +++ b/lib/pinchflat_web/controllers/media/media_item_controller.ex @@ -8,4 +8,23 @@ defmodule PinchflatWeb.Media.MediaItemController do render(conn, :show, media_item: media_item) end + + def delete(conn, %{"id" => id} = params) do + delete_files = Map.get(params, "delete_files", false) + media_item = Media.get_media_item!(id) + + if delete_files do + {:ok, _} = Media.delete_media_item_and_attachments(media_item) + + conn + |> put_flash(:info, "Record and files deleted successfully.") + |> redirect(to: ~p"/sources/#{media_item.source_id}") + else + {:ok, _} = Media.delete_media_item(media_item) + + conn + |> put_flash(:info, "Record deleted successfully. Files were not deleted.") + |> redirect(to: ~p"/sources/#{media_item.source_id}") + end + end end diff --git a/lib/pinchflat_web/controllers/media/media_item_html/show.html.heex b/lib/pinchflat_web/controllers/media/media_item_html/show.html.heex index ac65a28..f23de2c 100644 --- a/lib/pinchflat_web/controllers/media/media_item_html/show.html.heex +++ b/lib/pinchflat_web/controllers/media/media_item_html/show.html.heex @@ -1,12 +1,23 @@
- <.link :if={@conn.params["source_id"]} navigate={~p"/sources/#{@media_item.source_id}"}> + <.link navigate={~p"/sources/#{@media_item.source_id}"}> <.icon name="hero-arrow-left" class="w-10 h-10 hover:dark:text-white" />

Media Item #<%= @media_item.id %>

+
diff --git a/lib/pinchflat_web/controllers/searches/search_html/show.html.heex b/lib/pinchflat_web/controllers/searches/search_html/show.html.heex index 996701e..4d2bfd5 100644 --- a/lib/pinchflat_web/controllers/searches/search_html/show.html.heex +++ b/lib/pinchflat_web/controllers/searches/search_html/show.html.heex @@ -16,7 +16,10 @@ <.highlight_search_terms text={result.matching_search_term} /> <:col :let={result} label="" class="flex place-content-evenly"> - <.link navigate={~p"/media/#{result.id}"} class="hover:text-secondary duration-200 ease-in-out mx-0.5"> + <.link + navigate={~p"/sources/#{result.source_id}/media/#{result.id}"} + class="hover:text-secondary duration-200 ease-in-out mx-0.5" + > <.icon name="hero-eye" /> diff --git a/lib/pinchflat_web/router.ex b/lib/pinchflat_web/router.ex index 55c9fcb..0470029 100644 --- a/lib/pinchflat_web/router.ex +++ b/lib/pinchflat_web/router.ex @@ -20,11 +20,10 @@ defmodule PinchflatWeb.Router do get "/", PageController, :home resources "/media_profiles", MediaProfiles.MediaProfileController - resources "/media", Media.MediaItemController, only: [:show] resources "/search", Searches.SearchController, only: [:show], singleton: true resources "/sources", MediaSources.SourceController do - resources "/media", Media.MediaItemController, only: [:show] + resources "/media", Media.MediaItemController, only: [:show, :delete] end end diff --git a/test/pinchflat/media_test.exs b/test/pinchflat/media_test.exs index 8fbe8d7..77d267d 100644 --- a/test/pinchflat/media_test.exs +++ b/test/pinchflat/media_test.exs @@ -221,6 +221,24 @@ defmodule Pinchflat.MediaTest do end end + describe "media_filepaths/1" do + test "returns filepaths in a flat list" do + filepaths = %{ + media_filepath: "/video/test.mp4", + thumbnail_filepath: "/video/test.jpg", + subtitle_filepaths: [["en", "video/test.srt"]] + } + + media_item = media_item_fixture(filepaths) + + assert Media.media_filepaths(media_item) == [ + "/video/test.mp4", + "/video/test.jpg", + "video/test.srt" + ] + end + end + describe "create_media_item/1" do test "creating with valid data creates a media_item" do valid_attrs = %{ @@ -282,6 +300,61 @@ defmodule Pinchflat.MediaTest do end end + describe "delete_attachments/1" do + test "deletes the media item's files" do + media_item = media_item_with_attachments() + + assert {:ok, _} = Media.delete_attachments(media_item) + refute File.exists?(media_item.media_filepath) + end + + test "does not delete the media item" do + media_item = media_item_with_attachments() + + assert {:ok, _} = Media.delete_attachments(media_item) + + assert Repo.reload!(media_item) + end + + test "deletes the parent folder if it is empty" do + media_item = media_item_with_attachments() + root_directory = Path.dirname(media_item.media_filepath) + + assert {:ok, _} = Media.delete_attachments(media_item) + refute File.exists?(root_directory) + end + + test "does not delete the parent folder if it is not empty" do + media_item = media_item_with_attachments() + root_directory = Path.dirname(media_item.media_filepath) + File.touch(Path.join([root_directory, "test.txt"])) + + assert {:ok, _} = Media.delete_attachments(media_item) + assert File.exists?(root_directory) + + :ok = File.rm(Path.join([root_directory, "test.txt"])) + :ok = File.rmdir(root_directory) + end + end + + describe "delete_media_item_and_attachments/1" do + setup do + media_item = media_item_with_attachments() + {:ok, media_item: media_item} + end + + test "deletes the media item", %{media_item: media_item} do + assert {:ok, _} = Media.delete_media_item_and_attachments(media_item) + assert_raise Ecto.NoResultsError, fn -> Media.get_media_item!(media_item.id) end + end + + test "deletes associated files", %{media_item: media_item} do + assert File.exists?(media_item.media_filepath) + assert {:ok, _} = Media.delete_media_item_and_attachments(media_item) + refute File.exists?(media_item.media_filepath) + end + end + describe "change_media_item/1" do test "change_media_item/1 returns a media_item changeset" do media_item = media_item_fixture() diff --git a/test/pinchflat/profiles/options/yt_dlp/download_option_builder_test.exs b/test/pinchflat/profiles/options/yt_dlp/download_option_builder_test.exs index 32d3ffa..56942ce 100644 --- a/test/pinchflat/profiles/options/yt_dlp/download_option_builder_test.exs +++ b/test/pinchflat/profiles/options/yt_dlp/download_option_builder_test.exs @@ -12,7 +12,7 @@ defmodule Pinchflat.Profiles.Options.YtDlp.DownloadOptionBuilderTest do test "it generates an expanded output path based on the given template" do assert {:ok, res} = DownloadOptionBuilder.build(@media_profile) - assert {:output, "/tmp/videos/%(title)S.%(ext)s"} in res + assert {:output, "/tmp/test/videos/%(title)S.%(ext)s"} in res end end diff --git a/test/pinchflat_web/controllers/media_item_controller_test.exs b/test/pinchflat_web/controllers/media_item_controller_test.exs index eb0eab2..002f3bd 100644 --- a/test/pinchflat_web/controllers/media_item_controller_test.exs +++ b/test/pinchflat_web/controllers/media_item_controller_test.exs @@ -3,15 +3,74 @@ defmodule PinchflatWeb.MediaItemControllerTest do import Pinchflat.MediaFixtures + alias Pinchflat.Repo + alias Pinchflat.Media + describe "show media" do setup [:create_media_item] test "renders the page", %{conn: conn, media_item: media_item} do - conn = get(conn, ~p"/media/#{media_item}") + conn = get(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item}") assert html_response(conn, 200) =~ "Media Item ##{media_item.id}" end end + describe "delete media when just deleting the records" do + setup do + media_item = media_item_with_attachments() + + on_exit(fn -> + Media.delete_attachments(media_item) + end) + + %{media_item: media_item} + end + + test "the media item is deleted", %{conn: conn, media_item: media_item} do + delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}") + + assert_raise Ecto.NoResultsError, fn -> Repo.reload!(media_item) end + end + + test "the files are not deleted", %{conn: conn, media_item: media_item} do + delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}") + + assert File.exists?(media_item.media_filepath) + end + + test "redirects to the source page", %{conn: conn, media_item: media_item} do + conn = delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}") + + assert redirected_to(conn) == ~p"/sources/#{media_item.source_id}" + end + end + + describe "delete media when deleting the records and files" do + setup do + media_item = media_item_with_attachments() + + %{media_item: media_item} + end + + test "the media item is deleted", %{conn: conn, media_item: media_item} do + delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}?delete_files=true") + + assert_raise Ecto.NoResultsError, fn -> Repo.reload!(media_item) end + end + + test "the files are deleted", %{conn: conn, media_item: media_item} do + delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}?delete_files=true") + + refute File.exists?(media_item.media_filepath) + end + + test "redirects to the source page", %{conn: conn, media_item: media_item} do + conn = delete(conn, ~p"/sources/#{media_item.source_id}/media/#{media_item.id}?delete_files=true") + + assert redirected_to(conn) == ~p"/sources/#{media_item.source_id}" + end + end + defp create_media_item(_) do media_item = media_item_fixture() %{media_item: media_item} diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex index ff478a0..3aa5fce 100644 --- a/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -34,6 +34,7 @@ defmodule PinchflatWeb.ConnCase do setup tags do Pinchflat.DataCase.setup_sandbox(tags) + Pinchflat.DataCase.setup_temp_filepaths() {:ok, conn: Phoenix.ConnTest.build_conn()} end end diff --git a/test/support/data_case.ex b/test/support/data_case.ex index d217749..5bf7f10 100644 --- a/test/support/data_case.ex +++ b/test/support/data_case.ex @@ -32,6 +32,20 @@ defmodule Pinchflat.DataCase do setup tags do Pinchflat.DataCase.setup_sandbox(tags) + Pinchflat.DataCase.setup_temp_filepaths() + :ok + end + + @doc """ + Sets up the temp filepaths for the media and metadata directories. + """ + def setup_temp_filepaths do + File.rm_rf!(Application.get_env(:pinchflat, :media_directory)) + File.rm_rf!(Application.get_env(:pinchflat, :metadata_directory)) + + File.mkdir_p!(Application.get_env(:pinchflat, :media_directory)) + File.mkdir_p!(Application.get_env(:pinchflat, :metadata_directory)) + :ok end diff --git a/test/support/files/media.mkv b/test/support/files/media.mkv new file mode 100644 index 0000000000000000000000000000000000000000..b0b02c19ece933fcdb7a02e4afde5459fbfab1f5 GIT binary patch literal 70712 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 f@uwEdD-6sttc)uUs=T%1&>yX*3#J;{|Gx + File.rm_rf!(Application.get_env(:pinchflat, :media_directory)) + File.rm_rf!(Application.get_env(:pinchflat, :metadata_directory)) + + File.mkdir_p!(Application.get_env(:pinchflat, :media_directory)) + File.mkdir_p!(Application.get_env(:pinchflat, :metadata_directory)) +end)