More sensible attachment names.

This commit is contained in:
Roger Braun 2017-08-28 19:17:38 +02:00
parent fecbd099cd
commit 171ef33cbb
2 changed files with 14 additions and 3 deletions

View File

@ -9,10 +9,19 @@ def attachments_from_ids(ids) do
end)
end
defp shortname(name) do
if String.length(name) < 30 do
name
else
String.slice(name, 0..30) <> ""
end
end
def add_attachments(text, attachments) do
attachment_text = Enum.map(attachments, fn
(%{"url" => [%{"href" => href} | _]}) ->
"<a href=\"#{href}\" class='attachment'>#{Path.basename(href)}</a>"
name = URI.decode(Path.basename(href))
"<a href=\"#{href}\" class='attachment'>#{shortname(name)}</a>"
_ -> ""
end)
Enum.join([text | attachment_text], "<br>\n")

View File

@ -3,12 +3,14 @@ defmodule Pleroma.Web.TwitterAPI.UtilsTest do
use Pleroma.DataCase
test "it adds attachment links to a given text and attachment set" do
name = "Sakura%20Mana%20%E2%80%93%20Turned%20on%20by%20a%20Senior%20OL%20with%20a%20Temptating%20Tight%20Skirt-s%20Full%20Hipline%20and%20Panty%20Shot-%20Beautiful%20Thick%20Thighs-%20and%20Erotic%20Ass-%20-2015-%20--%20Oppaitime%208-28-2017%206-50-33%20PM.png"
attachment = %{
"url" => [%{"href" => "http://heise.de/i\"m a boy.png"}]
"url" => [%{"href" => name}]
}
res = Utils.add_attachments("", [attachment])
assert res == "<br>\n<a href=\"http://heise.de/i\"m a boy.png\" class='attachment'>i\"m a boy.png</a>"
assert res == "<br>\n<a href=\"#{name}\" class='attachment'>Sakura Mana Turned on by a Se…</a>"
end
end