aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/utils.ex
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-11-04 16:52:30 +0100
committerlain <lain@soykaf.club>2020-11-04 16:52:30 +0100
commit7bbc328d66aaac8d680f52521c6823aea42821af (patch)
tree5fa2ef3e91fd880e9170c718cca8245d73dc4ca3 /lib/pleroma/utils.ex
parentde2499e54b33a1746e5f6a5b79f1422d31c11570 (diff)
parent78cea44553c936813ffc2c4c47984a64255096ef (diff)
downloadpleroma-7bbc328d66aaac8d680f52521c6823aea42821af.tar.gz
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into stats-genserver-fix
Diffstat (limited to 'lib/pleroma/utils.ex')
-rw-r--r--lib/pleroma/utils.ex20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex
index 21d1159be..e95766223 100644
--- a/lib/pleroma/utils.ex
+++ b/lib/pleroma/utils.ex
@@ -24,4 +24,24 @@ defmodule Pleroma.Utils do
def command_available?(command) do
match?({_output, 0}, System.cmd("sh", ["-c", "command -v #{command}"]))
end
+
+ @doc "creates the uniq temporary directory"
+ @spec tmp_dir(String.t()) :: {:ok, String.t()} | {:error, :file.posix()}
+ def tmp_dir(prefix \\ "") do
+ sub_dir =
+ [
+ prefix,
+ Timex.to_unix(Timex.now()),
+ :os.getpid(),
+ String.downcase(Integer.to_string(:rand.uniform(0x100000000), 36))
+ ]
+ |> Enum.join("-")
+
+ tmp_dir = Path.join(System.tmp_dir!(), sub_dir)
+
+ case File.mkdir(tmp_dir) do
+ :ok -> {:ok, tmp_dir}
+ error -> error
+ end
+ end
end