diff --git a/app/logical/sources/strategies/pixiv.rb b/app/logical/sources/strategies/pixiv.rb index e880ecc64..ec0e4ba0b 100644 --- a/app/logical/sources/strategies/pixiv.rb +++ b/app/logical/sources/strategies/pixiv.rb @@ -12,6 +12,7 @@ module Sources IMG = %r!(?:\A(?:https?://)?img[0-9]*\.pixiv\.net)! PXIMG = %r!(?:\A(?:https?://)?i\.pximg\.net)! TOUCH = %r!(?:\A(?:https?://)?touch\.pixiv\.net)! + STACC_PAGE = %r!\A#{WEB}/stacc/#{MONIKER}/?\z!i NOVEL_PAGE = %r!(?:\Ahttps?://www\.pixiv\.net/novel/show\.php\?id=(\d+))! FANBOX_IMAGE = %r!(?:\Ahttps?://fanbox\.pixiv\.net/images/post/(\d+))! FANBOX_PAGE = %r!(?:\Ahttps?://www\.pixiv\.net/fanbox/creator/\d+/post/(\d+))! @@ -117,7 +118,7 @@ module Sources end def normalized_for_artist_finder? - url =~ PROFILE + url =~ PROFILE || url =~ STACC_PAGE end def normalizable_for_artist_finder? diff --git a/test/unit/artist_url_test.rb b/test/unit/artist_url_test.rb index a3432e89a..820176f69 100644 --- a/test/unit/artist_url_test.rb +++ b/test/unit/artist_url_test.rb @@ -129,6 +129,12 @@ class ArtistUrlTest < ActiveSupport::TestCase assert_equal("http://www.pixiv.net/member.php?id=339253/", url.normalized_url) end + should "normalize pixiv stacc urls" do + url = FactoryBot.create(:artist_url, :url => "https://www.pixiv.net/stacc/evazion") + assert_equal("https://www.pixiv.net/stacc/evazion", url.url) + assert_equal("http://www.pixiv.net/stacc/evazion/", url.normalized_url) + end + should "normalize twitter urls" do url = FactoryBot.create(:artist_url, :url => "https://twitter.com/aoimanabu/status/892370963630743552") assert_equal("https://twitter.com/aoimanabu/status/892370963630743552", url.url)