X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Futils.ex;h=c6892dec229b5969ee1d2a30e66534799bc3fef4;hb=b830605577f369d6b1a8730a5b3476ceea4fef5a;hp=e95766223d86e9965fbcfdc9f5595e98a5505461;hpb=f67c967c4a614262a6409f94ad74754b09dc0e64;p=akkoma
diff --git a/lib/pleroma/utils.ex b/lib/pleroma/utils.ex
index e95766223..c6892dec2 100644
--- a/lib/pleroma/utils.ex
+++ b/lib/pleroma/utils.ex
@@ -1,8 +1,16 @@
# Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors
+# Copyright © 2017-2021 Pleroma Authors
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Utils do
+ @posix_error_codes ~w(
+ eacces eagain ebadf ebadmsg ebusy edeadlk edeadlock edquot eexist efault
+ efbig eftype eintr einval eio eisdir eloop emfile emlink emultihop
+ enametoolong enfile enobufs enodev enolck enolink enoent enomem enospc
+ enosr enostr enosys enotblk enotdir enotsup enxio eopnotsupp eoverflow
+ eperm epipe erange erofs espipe esrch estale etxtbsy exdev
+ )a
+
def compile_dir(dir) when is_binary(dir) do
dir
|> File.ls!()
@@ -44,4 +52,12 @@ defmodule Pleroma.Utils do
error -> error
end
end
+
+ @spec posix_error_message(atom()) :: binary()
+ def posix_error_message(code) when code in @posix_error_codes do
+ error_message = Gettext.dgettext(Pleroma.Web.Gettext, "posix_errors", "#{code}")
+ "(POSIX error: #{error_message})"
+ end
+
+ def posix_error_message(_), do: ""
end