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),
|
||||
:image_url => image_url,
|
||||
:image_urls => image_urls,
|
||||
:preview_url => preview_url,
|
||||
:preview_urls => preview_urls,
|
||||
:page_url => page_url,
|
||||
:canonical_url => canonical_url,
|
||||
:normalized_for_artist_finder_url => normalize_for_artist_finder,
|
||||
|
||||
@@ -80,10 +80,14 @@ module Sources::Strategies
|
||||
end
|
||||
|
||||
def preview_urls
|
||||
return image_urls if api_response.blank?
|
||||
|
||||
api_response.dig(:extended_entities, :media).to_a.map do |media|
|
||||
media[:media_url_https] + ":small"
|
||||
if api_response.dig(:extended_entities, :media).present?
|
||||
api_response.dig(:extended_entities, :media).to_a.map do |media|
|
||||
media[:media_url_https] + ":small"
|
||||
end
|
||||
else
|
||||
image_urls.map do |url|
|
||||
url.gsub(/:orig\z/, ":small")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ module Sources
|
||||
|
||||
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:small", @site.preview_url)
|
||||
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.page_url)
|
||||
assert_equal("https://twitter.com/Strangestone/status/556440271961858051", @site.canonical_url)
|
||||
end
|
||||
@@ -108,8 +109,9 @@ module Sources
|
||||
assert_equal("nounproject", @site.artist_name)
|
||||
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:small", @site.preview_url)
|
||||
end
|
||||
|
||||
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")
|
||||
end
|
||||
|
||||
should "get the artist name" do
|
||||
should "get the source data" do
|
||||
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:small", @site.preview_url)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -153,6 +153,8 @@ module Sources
|
||||
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_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.profile_url.blank?)
|
||||
assert(@site.artists.empty?)
|
||||
@@ -171,6 +173,8 @@ module Sources
|
||||
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_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)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user