Merge pull request #3255 from evazion/fix-3254

Fix #3254, #3072: Some Twitter URLs upload wrong image.
This commit is contained in:
Albert Yi
2017-08-07 16:03:20 -07:00
committed by GitHub
4 changed files with 39 additions and 39 deletions

View File

@@ -1,5 +1,7 @@
module Sources::Strategies
class Twitter < Base
attr_reader :image_urls
def self.url_match?(url)
url =~ %r!https?://(?:mobile\.)?twitter\.com/\w+/status/\d+! || url =~ %r{https?://pbs\.twimg\.com/media/}
end
@@ -18,26 +20,23 @@ module Sources::Strategies
def api_response
status_id = status_id_from_url(url)
@api_response ||= TwitterService.new.client.status(status_id)
@api_response ||= TwitterService.new.client.status(status_id, tweet_mode: "extended")
end
def get
attrs = api_response.attrs
@artist_name = attrs[:user][:name]
@profile_url = "https://twitter.com/" + attrs[:user][:screen_name]
@image_url = image_urls.first
@image_urls = TwitterService.new.image_urls(api_response)
@image_url = @image_urls.first
@artist_commentary_title = ""
@artist_commentary_desc = attrs[:text]
@artist_commentary_desc = attrs[:full_text]
@tags = attrs[:entities][:hashtags].map do |text:, indices:|
[text, "https://twitter.com/hashtag/#{text}"]
end
rescue ::Twitter::Error::Forbidden
end
def image_urls
TwitterService.new.image_urls(url)
end
def normalize_for_artist_finder!
url.downcase
end
@@ -47,11 +46,11 @@ module Sources::Strategies
end
def dtext_artist_commentary_desc
url_replacements = Array(api_response.attrs[:entities][:urls]).map do |url:, expanded_url:, **attrs|
[url, expanded_url]
url_replacements = api_response.urls.map do |obj|
[obj.url.to_s, obj.expanded_url.to_s]
end
url_replacements += Array(api_response.attrs[:entities][:media]).map do |url:, expanded_url:, **attrs|
[url, ""]
url_replacements += api_response.media.map do |obj|
[obj.url.to_s, ""]
end
url_replacements = url_replacements.to_h