diff --git a/app/logical/source/url/fantia.rb b/app/logical/source/url/fantia.rb index b4b163efe..7253628f9 100644 --- a/app/logical/source/url/fantia.rb +++ b/app/logical/source/url/fantia.rb @@ -6,7 +6,7 @@ # https://fantia.jp/profiles/tus_2n9n0fm05fizg class Source::URL::Fantia < Source::URL - attr_reader :full_image_url + attr_reader :full_image_url, :fanclub_id, :username, :post_id, :product_id def self.match?(url) url.domain == "fantia.jp" diff --git a/app/logical/source/url/twitter.rb b/app/logical/source/url/twitter.rb index be3042a3c..57cf3db6f 100644 --- a/app/logical/source/url/twitter.rb +++ b/app/logical/source/url/twitter.rb @@ -88,15 +88,15 @@ class Source::URL::Twitter < Source::URL end def image_url? - orig_image_url.present? + domain == "twimg.com" end # https://pbs.twimg.com/media/EBGbJe_U8AA4Ekb.jpg:orig # https://pbs.twimg.com/tweet_video_thumb/ETkN_L3X0AMy1aT.jpg:orig # https://pbs.twimg.com/ext_tw_video_thumb/1243725361986375680/pu/img/JDA7g7lcw7wK-PIv.jpg:orig # https://pbs.twimg.com/amplify_video_thumb/1215590775364259840/img/lolCkEEioFZTb5dl.jpg:orig - def orig_image_url - return nil unless @file_path.present? + def full_image_url + return to_s unless @file_path.present? "#{site}/#{@file_path}:orig" end diff --git a/app/logical/sources/strategies/nico_seiga.rb b/app/logical/sources/strategies/nico_seiga.rb index 31c1e0f26..d56609574 100644 --- a/app/logical/sources/strategies/nico_seiga.rb +++ b/app/logical/sources/strategies/nico_seiga.rb @@ -40,7 +40,7 @@ module Sources end def profile_url - "https://seiga.nicovideo.jp/user/illust/#{api_client.user_id}" if api_client.user_id.present? + "https://seiga.nicovideo.jp/user/illust/#{api_client.user_id}" if api_client&.user_id.present? end def artist_name diff --git a/app/logical/sources/strategies/null.rb b/app/logical/sources/strategies/null.rb index 64ff636df..aa1b45938 100644 --- a/app/logical/sources/strategies/null.rb +++ b/app/logical/sources/strategies/null.rb @@ -15,6 +15,10 @@ module Sources url end + def artists + ArtistFinder.find_artists(url) + end + def normalize_for_source case url when %r{\Ahttp://www\.karabako\.net/images(?:ub)?/karabako_(\d+)(?:_\d+)?\.}i diff --git a/app/logical/sources/strategies/twitter.rb b/app/logical/sources/strategies/twitter.rb index 1f0bf06b2..5ea6f37ff 100644 --- a/app/logical/sources/strategies/twitter.rb +++ b/app/logical/sources/strategies/twitter.rb @@ -30,7 +30,7 @@ module Sources::Strategies def image_urls # https://pbs.twimg.com/media/EBGbJe_U8AA4Ekb.jpg:orig if parsed_url.image_url? - [parsed_url.orig_image_url] + [parsed_url.full_image_url] elsif api_response.present? api_response.dig(:extended_entities, :media).to_a.map do |media| if media[:type] == "photo" @@ -43,7 +43,7 @@ module Sources::Strategies end end else - [url] + [] end end