support for twitter downloads
This commit is contained in:
@@ -6,7 +6,7 @@ module Downloads
|
||||
end
|
||||
|
||||
def self.strategies
|
||||
[Pixiv, NicoSeiga, Twitpic, DeviantArt, Tumblr, Moebooru]
|
||||
[Pixiv, NicoSeiga, Twitpic, DeviantArt, Tumblr, Moebooru, Twitter]
|
||||
end
|
||||
|
||||
def rewrite(url, headers, data = {})
|
||||
|
||||
27
app/logical/downloads/rewrite_strategies/twitter.rb
Normal file
27
app/logical/downloads/rewrite_strategies/twitter.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
module Downloads
|
||||
module RewriteStrategies
|
||||
class Twitter < Base
|
||||
def rewrite(url, headers, data = {})
|
||||
if url =~ %r!^https?://(?:mobile\.)?twitter\.com!
|
||||
url, headers = rewrite_image_url(url, headers)
|
||||
end
|
||||
|
||||
return [url, headers, data]
|
||||
end
|
||||
|
||||
protected
|
||||
def rewrite_image_url(url, headers)
|
||||
# example: http://twitter.com/status
|
||||
url = url.sub(%r!^https?://twitter\.com!, "http://mobile.twitter.com")
|
||||
|
||||
if url =~ %r!^https?://mobile\.twitter\.com/\w+/status/\d+!
|
||||
source = ::Sources::Strategies::Twitter.new(url)
|
||||
source.get
|
||||
url = source.image_url
|
||||
end
|
||||
|
||||
return [url, headers]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user