diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-08-25 11:57:23 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-08-25 11:57:23 -0500 |
commit | 479578b148f28f311a7d20f6da99bbc0dab1652c (patch) | |
tree | 2b0e5bfe6bfa5c4b954b9442d4d2a1d4ad4bc8cf /lib/pleroma/upload.ex | |
parent | 98f8851f29f940051656caa1715820bce70f8c29 (diff) | |
parent | 361aa22e2862c1c914baf8257fdc8b20cbc7941d (diff) | |
download | pleroma-479578b148f28f311a7d20f6da99bbc0dab1652c.tar.gz |
Merge branch 'develop' into feld-2168-media-preview-proxy
Diffstat (limited to 'lib/pleroma/upload.ex')
-rw-r--r-- | lib/pleroma/upload.ex | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 0fa6b89dc..015c87593 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -56,6 +56,15 @@ defmodule Pleroma.Upload do } defstruct [:id, :name, :tempfile, :content_type, :path] + defp get_description(opts, upload) do + case {opts[:description], Pleroma.Config.get([Pleroma.Upload, :default_description])} do + {description, _} when is_binary(description) -> description + {_, :filename} -> upload.name + {_, str} when is_binary(str) -> str + _ -> "" + end + end + @spec store(source, options :: [option()]) :: {:ok, Map.t()} | {:error, any()} def store(upload, opts \\ []) do opts = get_opts(opts) @@ -63,7 +72,7 @@ defmodule Pleroma.Upload do with {:ok, upload} <- prepare_upload(upload, opts), upload = %__MODULE__{upload | path: upload.path || "#{upload.id}/#{upload.name}"}, {:ok, upload} <- Pleroma.Upload.Filter.filter(opts.filters, upload), - description = Map.get(opts, :description) || upload.name, + description = get_description(opts, upload), {_, true} <- {:description_limit, String.length(description) <= Pleroma.Config.get([:instance, :description_limit])}, |