add new uploads/batch endpoint for handling twitter galleries

This commit is contained in:
r888888888
2015-02-09 16:29:00 -08:00
parent 0c00bba65d
commit e57cad7b0a
9 changed files with 105 additions and 4 deletions

View File

@@ -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 = {})

View 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