Patch to support image descriptions in Pleroma FE
authorWim Vanderbauwhede <Wim.Vanderbauwhede@mail.be>
Fri, 4 Jan 2019 15:35:41 +0000 (15:35 +0000)
committerWim Vanderbauwhede <Wim.Vanderbauwhede@mail.be>
Fri, 4 Jan 2019 15:35:41 +0000 (15:35 +0000)
lib/pleroma/web/common_api/common_api.ex
lib/pleroma/web/common_api/utils.ex

index e474653ff3208b4ebf1ae5f2fb9ffdd7bc9258e5..50074b8b00174d741a1627dc26ab4229208de05b 100644 (file)
@@ -90,7 +90,7 @@ defmodule Pleroma.Web.CommonAPI do
     limit = Pleroma.Config.get([:instance, :limit])
 
     with status <- String.trim(status),
-         attachments <- attachments_from_ids(data["media_ids"]),
+         attachments <- attachments_from_ids(data["media_ids"], data["descriptions"]),
          mentions <- Formatter.parse_mentions(status),
          inReplyTo <- get_replied_to_activity(data["in_reply_to_status_id"]),
          {to, cc} <- to_for_user_and_mentions(user, mentions, inReplyTo, visibility),
index 51e74ac8f70178c4bba63fd5b6d769a26366962f..5fe21fb99c367d5f01ccbb3d51bf42b030c375a7 100644 (file)
@@ -1,9 +1,8 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.CommonAPI.Utils do
-  require Logger
   alias Calendar.Strftime
   alias Comeonin.Pbkdf2
   alias Pleroma.{Activity, Formatter, Object, Repo}
@@ -33,11 +32,11 @@ defmodule Pleroma.Web.CommonAPI.Utils do
 
   def get_replied_to_activity(_), do: nil
 
-  def attachments_from_ids(ids, descs) do
-    Enum.map(ids || [], fn media_id -> do
-      Logger.warn(descs[media_id])
-      Repo.get(Object, media_id).data
-    end
+  def attachments_from_ids(ids, descs_str) do
+    {_, descs} = Jason.decode(descs_str)
+
+    Enum.map(ids || [], fn media_id ->
+      Map.put(Repo.get(Object, media_id).data, "name", descs[media_id])
     end)
   end