Implement #2395 for nijie twitter and tumblr
This commit is contained in:
@@ -57,6 +57,9 @@ module Downloads
|
||||
def after_download(src)
|
||||
src = fix_image_board_sources(src)
|
||||
src = fix_twitter_sources(src)
|
||||
if options[:referer_url].present?
|
||||
src = set_source_to_referer(src)
|
||||
end
|
||||
src
|
||||
end
|
||||
|
||||
@@ -131,5 +134,14 @@ module Downloads
|
||||
src
|
||||
end
|
||||
end
|
||||
|
||||
def set_source_to_referer(src)
|
||||
if Sources::Strategies::Nijie.url_match?(src) || Sources::Strategies::Twitter.url_match?(src) || Sources::Strategies::Tumblr.url_match?(src)
|
||||
strategy = Sources::Site.new(src, :referer_url => options[:referer_url])
|
||||
strategy.referer_url
|
||||
else
|
||||
src
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -10,7 +10,7 @@ module Sources
|
||||
:artist_commentary_desc, :to => :strategy
|
||||
|
||||
def self.strategies
|
||||
[Strategies::Pixiv, Strategies::NicoSeiga, Strategies::DeviantArt, Strategies::Nijie, Strategies::Twitter]
|
||||
[Strategies::Pixiv, Strategies::NicoSeiga, Strategies::DeviantArt, Strategies::Nijie, Strategies::Twitter, Strategies::Tumblr]
|
||||
end
|
||||
|
||||
def initialize(url, options = {})
|
||||
|
||||
28
app/logical/sources/strategies/tumblr.rb
Normal file
28
app/logical/sources/strategies/tumblr.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
module Sources::Strategies
|
||||
class Tumblr < Base
|
||||
def self.url_match?(url)
|
||||
url =~ %r{^https?://.+\.tumblr\.com/(?:\w+/)?(?:tumblr_)?(\w+_)(\d+)\..+$} || url =~ %r{^https?://[^.]+\.tumblr\.com/(?:post|image)/\d+}
|
||||
end
|
||||
|
||||
def referer_url
|
||||
if @referer_url =~ %r{^https?://[^.]+\.tumblr\.com/post/\d+} && @url =~ %r{^https?://.+\.tumblr\.com/(?:\w+/)?(?:tumblr_)?(\w+_)(\d+)\..+$}
|
||||
@referer_url
|
||||
elsif @referer_url =~ %r{^https?://[^.]+\.tumblr\.com/image/\d+} && @url =~ %r{^https?://.+\.tumblr\.com/(?:\w+/)?(?:tumblr_)?(\w+_)(\d+)\..+$}
|
||||
@referer_url.sub("/image/", "/post/")
|
||||
else
|
||||
@url
|
||||
end
|
||||
end
|
||||
|
||||
def tags
|
||||
[]
|
||||
end
|
||||
|
||||
def site_name
|
||||
"Tumblr"
|
||||
end
|
||||
|
||||
def get
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user