twitter: fix preview_urls when source url is a direct image.
Fix preview_urls returning an empty array when the source url is a direct image from Twitter. Also return preview_urls in /source.json.
This commit is contained in:
@@ -269,6 +269,8 @@ module Sources
|
|||||||
:artists => artists.as_json(include: :sorted_urls),
|
:artists => artists.as_json(include: :sorted_urls),
|
||||||
:image_url => image_url,
|
:image_url => image_url,
|
||||||
:image_urls => image_urls,
|
:image_urls => image_urls,
|
||||||
|
:preview_url => preview_url,
|
||||||
|
:preview_urls => preview_urls,
|
||||||
:page_url => page_url,
|
:page_url => page_url,
|
||||||
:canonical_url => canonical_url,
|
:canonical_url => canonical_url,
|
||||||
:normalized_for_artist_finder_url => normalize_for_artist_finder,
|
:normalized_for_artist_finder_url => normalize_for_artist_finder,
|
||||||
|
|||||||
@@ -80,10 +80,14 @@ module Sources::Strategies
|
|||||||
end
|
end
|
||||||
|
|
||||||
def preview_urls
|
def preview_urls
|
||||||
return image_urls if api_response.blank?
|
if api_response.dig(:extended_entities, :media).present?
|
||||||
|
api_response.dig(:extended_entities, :media).to_a.map do |media|
|
||||||
api_response.dig(:extended_entities, :media).to_a.map do |media|
|
media[:media_url_https] + ":small"
|
||||||
media[:media_url_https] + ":small"
|
end
|
||||||
|
else
|
||||||
|
image_urls.map do |url|
|
||||||
|
url.gsub(/:orig\z/, ":small")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ module Sources
|
|||||||
|
|
||||||
should "get the urls" do
|
should "get the urls" do
|
||||||
assert_equal("https://pbs.twimg.com/media/B7jfc1JCcAEyeJh.png:orig", @site.image_url)
|
assert_equal("https://pbs.twimg.com/media/B7jfc1JCcAEyeJh.png:orig", @site.image_url)
|
||||||
|
assert_equal("https://pbs.twimg.com/media/B7jfc1JCcAEyeJh.png:small", @site.preview_url)
|
||||||
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.page_url)
|
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.page_url)
|
||||||
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.canonical_url)
|
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.canonical_url)
|
||||||
end
|
end
|
||||||
@@ -108,8 +109,9 @@ module Sources
|
|||||||
assert_equal("nounproject", @site.artist_name)
|
assert_equal("nounproject", @site.artist_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
should "get the image url" do
|
should "get the image urls" do
|
||||||
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
||||||
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:small", @site.preview_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
should "get the canonical url" do
|
should "get the canonical url" do
|
||||||
@@ -136,12 +138,10 @@ module Sources
|
|||||||
@site = Sources::Strategies.find("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:large", "https://twitter.com/nounproject/status/540944400767922176")
|
@site = Sources::Strategies.find("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:large", "https://twitter.com/nounproject/status/540944400767922176")
|
||||||
end
|
end
|
||||||
|
|
||||||
should "get the artist name" do
|
should "get the source data" do
|
||||||
assert_equal("nounproject", @site.artist_name)
|
assert_equal("nounproject", @site.artist_name)
|
||||||
end
|
|
||||||
|
|
||||||
should "get the image url" do
|
|
||||||
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
||||||
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:small", @site.preview_url)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -153,6 +153,8 @@ module Sources
|
|||||||
should "work" do
|
should "work" do
|
||||||
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig", @site.image_url)
|
||||||
assert_equal(["https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig"], @site.image_urls)
|
assert_equal(["https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:orig"], @site.image_urls)
|
||||||
|
assert_equal("https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:small", @site.preview_url)
|
||||||
|
assert_equal(["https://pbs.twimg.com/media/B4HSEP5CUAA4xyu.png:small"], @site.preview_urls)
|
||||||
assert(@site.artist_name.blank?)
|
assert(@site.artist_name.blank?)
|
||||||
assert(@site.profile_url.blank?)
|
assert(@site.profile_url.blank?)
|
||||||
assert(@site.artists.empty?)
|
assert(@site.artists.empty?)
|
||||||
@@ -171,6 +173,8 @@ module Sources
|
|||||||
should "work" do
|
should "work" do
|
||||||
assert_equal("https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig", @site.image_url)
|
assert_equal("https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig", @site.image_url)
|
||||||
assert_equal(["https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig"], @site.image_urls)
|
assert_equal(["https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig"], @site.image_urls)
|
||||||
|
assert_equal("https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:small", @site.preview_url)
|
||||||
|
assert_equal(["https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:small"], @site.preview_urls)
|
||||||
assert_equal("https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig", @site.canonical_url)
|
assert_equal("https://pbs.twimg.com/media/EBGp2YdUYAA19Uj.jpg:orig", @site.canonical_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user