diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-05-02 18:25:39 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-05-02 18:25:39 +0200 |
commit | 33c803d6da91e0253a100cbd480d253706c44964 (patch) | |
tree | 5c976f3b8c77c7c6f563ffcfb86a4ff09bea2ca7 | |
parent | b104348fa52c6ea51b9a159b145a48ca74a22332 (diff) | |
download | pleroma-33c803d6da91e0253a100cbd480d253706c44964.tar.gz |
Add attachment link to posts.
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 14 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 2 |
2 files changed, 14 insertions, 2 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index b1759a6f0..7656d4d33 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -32,11 +32,23 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do def get_replied_to_activity(_), do: nil + def add_attachments(text, attachments) do + attachment_text = Enum.map(attachments, fn + (%{"url" => [%{"href" => href} | _]}) -> + "<a href='#{href}'>#{href}</a>" + _ -> "" + end) + Enum.join([text | attachment_text], "<br>") + end + def create_status(user = %User{}, data = %{"status" => status}) do attachments = attachments_from_ids(data["media_ids"]) context = ActivityPub.generate_context_id mentions = parse_mentions(status) - content_html = format_input(status, mentions) + content_html = status + |> format_input(mentions) + |> add_attachments(attachments) + to = to_for_user_and_mentions(user, mentions) date = make_date() diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 4e17f3298..a92440f32 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -33,7 +33,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do { :ok, activity = %Activity{} } = TwitterAPI.create_status(user, input) - assert get_in(activity.data, ["object", "content"]) == "Hello again, <a href='shp'>@shp</a>.<br>This is on another line." + assert get_in(activity.data, ["object", "content"]) == "Hello again, <a href='shp'>@shp</a>.<br>This is on another line.<br><a href='http://example.org/image.jpg'>http://example.org/image.jpg</a>" assert get_in(activity.data, ["object", "type"]) == "Note" assert get_in(activity.data, ["object", "actor"]) == user.ap_id assert get_in(activity.data, ["actor"]) == user.ap_id |