Move emoji glob setting to config.exs
authorJorty <jorty@jort.space>
Sat, 30 Jun 2018 21:20:08 +0000 (17:20 -0400)
committerJorty <jorty@jort.space>
Sat, 30 Jun 2018 21:58:44 +0000 (17:58 -0400)
Also, a bit of formatting, and the glob includes an "/emoji/" prefix to
make it more intuitive to users

config/config.exs
lib/pleroma/web/twitter_api/controllers/util_controller.ex

index cf6cbaa9d140697be8017cdd63b4e1a77bb08250..96350d064c01c0b9ce189771c75db98ce3e59935 100644 (file)
@@ -12,6 +12,8 @@ config :pleroma, Pleroma.Repo, types: Pleroma.PostgresTypes
 
 config :pleroma, Pleroma.Upload, uploads: "uploads"
 
+config :pleroma, :emoji, shortcode_glob: "/emoji/by-shortcode/**/*.png"
+
 # Configures the endpoint
 config :pleroma, Pleroma.Web.Endpoint,
   url: [host: "localhost"],
index db6142dc827d8f1727abbe3fd63a9b597e5c41eb..73a46bb5ebb7da82bf77b7997e4b65b8634964ac 100644 (file)
@@ -173,23 +173,30 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   end
 
   def emoji(conn, _params) do
-    emoji_dir = Path.join(:code.priv_dir(:pleroma), "static/emoji")
-
-    shortcode_emoji_glob =
-      Path.join(
-        emoji_dir,
-        Application.get_env(:pleroma, :emoji, []) |>
-          Keyword.get(:glob, "by-shortcode/**/*.png")
-      )
+    static_dir = Path.join(:code.priv_dir(:pleroma), "static")
+
+    emoji_shortcode_glob =
+      Application.get_env(:pleroma, :emoji, [])
+      |> Keyword.get(:shortcode_glob)
+
     shortcode_emoji =
-      Path.wildcard(shortcode_emoji_glob) |>
-      Enum.map(fn path ->
-        shortcode = Path.basename(path, ".png")
-        serve_path = Path.join("/emoji", Path.relative_to(path, emoji_dir))
-        {shortcode, serve_path}
-      end)
+      case emoji_shortcode_glob do
+        nil ->
+          []
+
+        glob ->
+          Path.join(static_dir, glob)
+          |> Path.wildcard()
+          |> Enum.map(fn path ->
+            shortcode = Path.basename(path, ".png")
+            serve_path = Path.join("/", Path.relative_to(path, static_dir))
+            {shortcode, serve_path}
+          end)
+      end
 
-    emoji = Enum.into(Formatter.get_custom_emoji(), shortcode_emoji) |> Enum.into(%{})
+    emoji =
+      Enum.into(Formatter.get_custom_emoji(), shortcode_emoji)
+      |> Enum.into(%{})
 
     json(conn, emoji)
   end