From 9481f09b9335e16020972fa01a7fdf93ced64c2d Mon Sep 17 00:00:00 2001 From: Toks Date: Thu, 28 May 2015 02:20:45 -0400 Subject: [PATCH] Support rewriting direct twitter url -> full size url If the user gives us the direct image url the twitter api is useless since it doesn't have the status id. So just rewrite the url itself. --- .../downloads/rewrite_strategies/twitter.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/logical/downloads/rewrite_strategies/twitter.rb b/app/logical/downloads/rewrite_strategies/twitter.rb index 0bd456583..944efc061 100644 --- a/app/logical/downloads/rewrite_strategies/twitter.rb +++ b/app/logical/downloads/rewrite_strategies/twitter.rb @@ -3,19 +3,29 @@ module Downloads class Twitter < Base def rewrite(url, headers, data = {}) if url =~ %r!^https?://(?:mobile\.)?twitter\.com! - url, headers = rewrite_image_url(url, headers) + url, headers = rewrite_status_page(url, headers) + elsif url =~ %r{^https?://pbs\.twimg\.com} + url, headers = rewrite_direct_image_url(url, headers) end return [url, headers, data] end protected - def rewrite_image_url(url, headers) + def rewrite_status_page(url, headers) source = ::Sources::Strategies::Twitter.new(url) source.get url = source.image_url return [url, headers] end + + def rewrite_direct_image_url(url, headers) + if url =~ %r{^(https?://pbs\.twimg\.com/media/[^:]+)} + url = $1 + ":orig" + end + + return [url, headers] + end end end end