add new uploads/batch endpoint for handling twitter galleries
This commit is contained in:
@@ -6,7 +6,7 @@ module Downloads
|
||||
end
|
||||
|
||||
def self.strategies
|
||||
[Pixiv, NicoSeiga, Twitpic, DeviantArt, Tumblr, Moebooru, Twitter]
|
||||
[Downloads::RewriteStrategies::Pixiv, Downloads::RewriteStrategies::NicoSeiga, Downloads::RewriteStrategies::Twitpic, Downloads::RewriteStrategies::DeviantArt, Downloads::RewriteStrategies::Tumblr, Downloads::RewriteStrategies::Moebooru, Downloads::RewriteStrategies::Twitter]
|
||||
end
|
||||
|
||||
def rewrite(url, headers, data = {})
|
||||
|
||||
33
app/logical/twitter_service.rb
Normal file
33
app/logical/twitter_service.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
class TwitterService
|
||||
def client
|
||||
raise "Twitter API keys not set" if Danbooru.config.twitter_api_key.nil?
|
||||
|
||||
@client ||= begin
|
||||
rest_client = Twitter::REST::Client.new do |config|
|
||||
config.consumer_key = Danbooru.config.twitter_api_key
|
||||
config.consumer_secret = Danbooru.config.twitter_api_secret
|
||||
if bearer_token = Cache.get("twitter-api-token")
|
||||
config.bearer_token = bearer_token
|
||||
end
|
||||
end
|
||||
|
||||
Cache.put("twitter-api-token", rest_client.bearer_token)
|
||||
|
||||
rest_client
|
||||
end
|
||||
end
|
||||
|
||||
def image_urls(tweet_url)
|
||||
attrs = client.status(tweet_url).attrs
|
||||
urls = []
|
||||
attrs[:entities][:media].each do |obj|
|
||||
urls << obj[:media_url]
|
||||
end
|
||||
attrs[:extended_entities][:media].each do |obj|
|
||||
urls << obj[:media_url]
|
||||
end
|
||||
urls.uniq
|
||||
rescue
|
||||
[]
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user