diff options
author | Maksim <parallel588@gmail.com> | 2019-08-06 20:19:28 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-08-06 20:19:28 +0000 |
commit | 139b196bc0328d812adb9434b2da97265d57257d (patch) | |
tree | f26e5695edea264eac2b0471898fca3c8cd4aff1 /lib | |
parent | 486b474327dc4af4773044973f96e6e772656b38 (diff) | |
download | pleroma-139b196bc0328d812adb9434b2da97265d57257d.tar.gz |
[#1150] fixed parser TwitterCard
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/rich_media/parsers/twitter_card.ex | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/pleroma/web/rich_media/parsers/twitter_card.ex b/lib/pleroma/web/rich_media/parsers/twitter_card.ex index e4efe2dd0..afaa98f3d 100644 --- a/lib/pleroma/web/rich_media/parsers/twitter_card.ex +++ b/lib/pleroma/web/rich_media/parsers/twitter_card.ex @@ -3,13 +3,20 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.RichMedia.Parsers.TwitterCard do + alias Pleroma.Web.RichMedia.Parsers.MetaTagsParser + + @spec parse(String.t(), map()) :: {:ok, map()} | {:error, String.t()} def parse(html, data) do - Pleroma.Web.RichMedia.Parsers.MetaTagsParser.parse( - html, - data, - "twitter", - "No twitter card metadata found", - "name" - ) + data + |> parse_name_attrs(html) + |> parse_property_attrs(html) + end + + defp parse_name_attrs(data, html) do + MetaTagsParser.parse(html, data, "twitter", %{}, "name") + end + + defp parse_property_attrs({_, data}, html) do + MetaTagsParser.parse(html, data, "twitter", "No twitter card metadata found", "property") end end |