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")
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