From 4c55c809b04dffdcf6cc9efe29a89b1b90d97ec5 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 9 Oct 2018 11:57:23 -0500 Subject: [PATCH] tumblr: don't fail when api key isn't configured. --- app/logical/sources/strategies/tumblr.rb | 6 +++++- test/unit/sources/tumblr_test.rb | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/logical/sources/strategies/tumblr.rb b/app/logical/sources/strategies/tumblr.rb index b6cb0a8aa..0532c8eae 100644 --- a/app/logical/sources/strategies/tumblr.rb +++ b/app/logical/sources/strategies/tumblr.rb @@ -8,6 +8,10 @@ module Sources::Strategies IMAGE = %r!\Ahttps?://#{DOMAIN}/(?#{MD5}/)?#{FILENAME}_#{SIZES}\.#{EXT}\z!i POST = %r!\Ahttps?://(?[^.]+)\.tumblr\.com/(?:post|image)/(?\d+)!i + def self.enabled? + Danbooru.config.tumblr_consumer_key.present? + end + def self.match?(*urls) urls.compact.any? do |url| blog_name, post_id = parse_info_from_url(url) @@ -174,7 +178,7 @@ module Sources::Strategies memoize :inline_images 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) end diff --git a/test/unit/sources/tumblr_test.rb b/test/unit/sources/tumblr_test.rb index 7d5104f96..04a5bb6f6 100644 --- a/test/unit/sources/tumblr_test.rb +++ b/test/unit/sources/tumblr_test.rb @@ -3,8 +3,7 @@ require 'test_helper' module Sources class TumblrTest < ActiveSupport::TestCase def setup - super - skip "Tumblr key is not configured" unless Danbooru.config.tumblr_consumer_key + skip "Tumblr key is not configured" unless Sources::Strategies::Tumblr.enabled? end context "The source for a 'http://*.tumblr.com/post/*' photo post with a single image" do