diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-12-10 19:03:06 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-12-10 19:03:06 +0000 |
commit | 0554d91dcdc4263594ca02d4796c59bda49de3ce (patch) | |
tree | 5fa79064eddc3e22e0deb98a36cac3fe834c3fc6 /lib | |
parent | ab98c92d86f91b0c83f482e002e4a518b93f65ca (diff) | |
parent | f079ca7181a907416b77c2f81307049036f74aa9 (diff) | |
download | pleroma-0554d91dcdc4263594ca02d4796c59bda49de3ce.tar.gz |
Merge branch 'anonymize-filter-text' into 'develop'
AnonymizeFilename: allow for a pre-defined text instead of random string
See merge request pleroma/pleroma!516
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 |