support for twitter downloads

This commit is contained in:
r888888888
2014-12-05 14:19:36 -08:00
parent 56a8387377
commit 4fcb1d2bbc
6 changed files with 266 additions and 2 deletions

View File

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

View 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