Files
danbooru/app/logical/downloads/strategies/tumblr.rb
2013-11-28 15:02:54 -05:00

28 lines
671 B
Ruby

module Downloads
module Strategies
class Tumblr < Base
def rewrite(url, headers)
if url =~ %r{^http?://(?:(?:\d+\.)\w+\.)?tumblr\.com}
url, headers = rewrite_thumbnails(url, headers)
end
return [url, headers]
end
protected
def rewrite_thumbnails(url, headers)
if url =~ %r{^http?://.+\.tumblr\.com/(?:\w+/)?(?:tumblr_)?(\w+_)(250|400|500)\..+$}
match = $1
size = $2
big_url = url.sub(match + size, match + "1280")
if http_exists?(big_url, headers)
url = big_url
end
end
return [url, headers]
end
end
end
end