Move checks to application startup
[akkoma] / lib / pleroma / upload / filter / mogrifun.ex
index 8f362333d3867617faa82efd320b52f03c0d49a8..a8503ac2422bb9d68d84a4b282b79699434cc72e 100644 (file)
@@ -34,12 +34,14 @@ defmodule Pleroma.Upload.Filter.Mogrifun do
     [{"fill", "yellow"}, {"tint", "40"}]
   ]
 
+  @spec filter(Pleroma.Upload.t()) :: :ok | {:error, String.t()}
   def filter(%Pleroma.Upload{tempfile: file, content_type: "image" <> _}) do
-    if Pleroma.Utils.command_available?("mogrify") do
+    try do
       Filter.Mogrify.do_filter(file, [Enum.random(@filters)])
       :ok
-    else
-      {:error, "mogrify command not found"}
+    rescue
+      _e in ErlangError ->
+        {:error, "mogrify command not found"}
     end
   end