diff options
author | href <href@random.sh> | 2018-12-07 14:07:11 +0100 |
---|---|---|
committer | href <href@random.sh> | 2018-12-07 14:07:11 +0100 |
commit | 3b27f61ffa737dd6f4f9ec3a50c248d9077ddb51 (patch) | |
tree | 3a4fe0af9e109eb1ffa1137c7d301e48f2413549 /lib | |
parent | 8764f646900f577add5cc606b433870633b2e4d5 (diff) | |
download | pleroma-3b27f61ffa737dd6f4f9ec3a50c248d9077ddb51.tar.gz |
AnonymizeFilename: allow for a pre-defined text instead of random string
Improve docs
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/upload/filter/anonymize_filename.ex | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/pleroma/upload/filter/anonymize_filename.ex b/lib/pleroma/upload/filter/anonymize_filename.ex index a83e764e5..39eed7af3 100644 --- a/lib/pleroma/upload/filter/anonymize_filename.ex +++ b/lib/pleroma/upload/filter/anonymize_filename.ex @@ -1,10 +1,23 @@ defmodule Pleroma.Upload.Filter.AnonymizeFilename do - @moduledoc "Replaces the original filename with a randomly generated string." + @moduledoc """ + Replaces the original filename with a pre-defined text or randomly generated string. + + Should be used after `Pleroma.Upload.Filter.Dedupe`. + """ @behaviour Pleroma.Upload.Filter def filter(upload) do extension = List.last(String.split(upload.name, ".")) - string = Base.url_encode64(:crypto.strong_rand_bytes(10), padding: false) - {:ok, %Pleroma.Upload{upload | name: string <> "." <> extension}} + name = Pleroma.Config.get([__MODULE__, :text], random(extension)) + {:ok, %Pleroma.Upload{upload | name: name}} + end + + defp random(extension) do + string = + 10 + |> :crypto.strong_rand_bytes() + |> Base.url_encode64(padding: false) + + string <> "." <> extension end end |