rich media: oembed: return data in the same format as the other parsers
authorWilliam Pitcock <nenolod@dereferenced.org>
Mon, 28 Jan 2019 21:07:36 +0000 (21:07 +0000)
committerWilliam Pitcock <nenolod@dereferenced.org>
Mon, 28 Jan 2019 21:13:25 +0000 (21:13 +0000)
lib/pleroma/web/rich_media/parsers/oembed_parser.ex
test/web/rich_media/parser_test.exs

index ca7226fafd88f7b21dec7d2da49d479c6d6bc4b8..efa98bc2c16fe47a4c788cb663e28c13dcf88cf9 100644 (file)
@@ -22,6 +22,10 @@ defmodule Pleroma.Web.RichMedia.Parsers.OEmbed do
   defp get_oembed_data(url) do
     {:ok, %Tesla.Env{body: json}} = Pleroma.HTTP.get(url)
 
-    {:ok, Poison.decode!(json)}
+    {:ok, data} = Jason.decode(json)
+
+    data = data |> Map.new(fn {k, v} -> {String.to_atom(k), v} end)
+
+    {:ok, data}
   end
 end
index e14b5061aeffe615ba2063c112170de515f444bf..93a58c52842e738028b01f7886bf78e4e40addb9 100644 (file)
@@ -65,28 +65,27 @@ defmodule Pleroma.Web.RichMedia.ParserTest do
     assert Pleroma.Web.RichMedia.Parser.parse("http://example.com/oembed") ==
              {:ok,
               %{
-                "author_name" => "‮‭‬bees‬",
-                "author_url" => "https://www.flickr.com/photos/bees/",
-                "cache_age" => 3600,
-                "flickr_type" => "photo",
-                "height" => "768",
-                "html" =>
+                author_name: "‮‭‬bees‬",
+                author_url: "https://www.flickr.com/photos/bees/",
+                cache_age: 3600,
+                flickr_type: "photo",
+                height: "768",
+                html:
                   "<a data-flickr-embed=\"true\" href=\"https://www.flickr.com/photos/bees/2362225867/\" title=\"Bacon Lollys by ‮‭‬bees‬, on Flickr\"><img src=\"https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_b.jpg\" width=\"1024\" height=\"768\" alt=\"Bacon Lollys\"></a><script async src=\"https://embedr.flickr.com/assets/client-code.js\" charset=\"utf-8\"></script>",
-                "license" => "All Rights Reserved",
-                "license_id" => 0,
-                "provider_name" => "Flickr",
-                "provider_url" => "https://www.flickr.com/",
-                "thumbnail_height" => 150,
-                "thumbnail_url" =>
-                  "https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_q.jpg",
-                "thumbnail_width" => 150,
-                "title" => "Bacon Lollys",
-                "type" => "photo",
-                "url" => "https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_b.jpg",
-                "version" => "1.0",
-                "web_page" => "https://www.flickr.com/photos/bees/2362225867/",
-                "web_page_short_url" => "https://flic.kr/p/4AK2sc",
-                "width" => "1024"
+                license: "All Rights Reserved",
+                license_id: 0,
+                provider_name: "Flickr",
+                provider_url: "https://www.flickr.com/",
+                thumbnail_height: 150,
+                thumbnail_url: "https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_q.jpg",
+                thumbnail_width: 150,
+                title: "Bacon Lollys",
+                type: "photo",
+                url: "https://farm4.staticflickr.com/3040/2362225867_4a87ab8baf_b.jpg",
+                version: "1.0",
+                web_page: "https://www.flickr.com/photos/bees/2362225867/",
+                web_page_short_url: "https://flic.kr/p/4AK2sc",
+                width: "1024"
               }}
   end
 end