From 171ef33cbbdd96f2fb7c893be899f7e13c64a449 Mon Sep 17 00:00:00 2001 From: Roger Braun Date: Mon, 28 Aug 2017 19:17:38 +0200 Subject: [PATCH] More sensible attachment names. --- lib/pleroma/web/twitter_api/utils.ex | 11 ++++++++++- test/web/twitter_api/twitter_api_utils_test.exs | 6 ++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/pleroma/web/twitter_api/utils.ex b/lib/pleroma/web/twitter_api/utils.ex index cd7e04ca1..055588031 100644 --- a/lib/pleroma/web/twitter_api/utils.ex +++ b/lib/pleroma/web/twitter_api/utils.ex @@ -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} | _]}) -> - "#{Path.basename(href)}" + name = URI.decode(Path.basename(href)) + "#{shortname(name)}" _ -> "" end) Enum.join([text | attachment_text], "
\n") diff --git a/test/web/twitter_api/twitter_api_utils_test.exs b/test/web/twitter_api/twitter_api_utils_test.exs index 49818afed..ff03414d6 100644 --- a/test/web/twitter_api/twitter_api_utils_test.exs +++ b/test/web/twitter_api/twitter_api_utils_test.exs @@ -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 == "
\ni\"m a boy.png" + assert res == "
\nSakura Mana – Turned on by a Se…" end end