From: rinpatch Date: Wed, 2 Sep 2020 09:42:25 +0000 (+0300) Subject: html.ex: optimize external url extraction X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=46236d1d873473d95b11cd7bfdcaa284ea55a9ad;p=akkoma html.ex: optimize external url extraction By using a :not() selector and only extracting attributes from the first match. --- diff --git a/lib/pleroma/html.ex b/lib/pleroma/html.ex index dc1b9b840..20b02f091 100644 --- a/lib/pleroma/html.ex +++ b/lib/pleroma/html.ex @@ -109,8 +109,9 @@ defmodule Pleroma.HTML do result = content |> Floki.parse_fragment!() - |> Floki.filter_out("a.mention,a.hashtag,a.attachment,a[rel~=\"tag\"]") - |> Floki.attribute("a", "href") + |> Floki.find("a:not(.mention,.hashtag,.attachment,[rel~=\"tag\"])") + |> Enum.take(1) + |> Floki.attribute("href") |> Enum.at(0) {:commit, {:ok, result}}