tumblr: don't fail when api key isn't configured.
This commit is contained in:
@@ -8,6 +8,10 @@ module Sources::Strategies
|
|||||||
IMAGE = %r!\Ahttps?://#{DOMAIN}/(?<dir>#{MD5}/)?#{FILENAME}_#{SIZES}\.#{EXT}\z!i
|
IMAGE = %r!\Ahttps?://#{DOMAIN}/(?<dir>#{MD5}/)?#{FILENAME}_#{SIZES}\.#{EXT}\z!i
|
||||||
POST = %r!\Ahttps?://(?<blog_name>[^.]+)\.tumblr\.com/(?:post|image)/(?<post_id>\d+)!i
|
POST = %r!\Ahttps?://(?<blog_name>[^.]+)\.tumblr\.com/(?:post|image)/(?<post_id>\d+)!i
|
||||||
|
|
||||||
|
def self.enabled?
|
||||||
|
Danbooru.config.tumblr_consumer_key.present?
|
||||||
|
end
|
||||||
|
|
||||||
def self.match?(*urls)
|
def self.match?(*urls)
|
||||||
urls.compact.any? do |url|
|
urls.compact.any? do |url|
|
||||||
blog_name, post_id = parse_info_from_url(url)
|
blog_name, post_id = parse_info_from_url(url)
|
||||||
@@ -174,7 +178,7 @@ module Sources::Strategies
|
|||||||
memoize :inline_images
|
memoize :inline_images
|
||||||
|
|
||||||
def client
|
def client
|
||||||
raise NotImplementedError.new("Tumblr support is not available (API key not configured).") if Danbooru.config.tumblr_consumer_key.nil?
|
return {} unless self.class.enabled?
|
||||||
|
|
||||||
TumblrApiClient.new(Danbooru.config.tumblr_consumer_key)
|
TumblrApiClient.new(Danbooru.config.tumblr_consumer_key)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ require 'test_helper'
|
|||||||
module Sources
|
module Sources
|
||||||
class TumblrTest < ActiveSupport::TestCase
|
class TumblrTest < ActiveSupport::TestCase
|
||||||
def setup
|
def setup
|
||||||
super
|
skip "Tumblr key is not configured" unless Sources::Strategies::Tumblr.enabled?
|
||||||
skip "Tumblr key is not configured" unless Danbooru.config.tumblr_consumer_key
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "The source for a 'http://*.tumblr.com/post/*' photo post with a single image" do
|
context "The source for a 'http://*.tumblr.com/post/*' photo post with a single image" do
|
||||||
|
|||||||
Reference in New Issue
Block a user