From b924c2bb9cfd2596c0d4218f5e3b1b20f6196d68 Mon Sep 17 00:00:00 2001 From: evazion Date: Sun, 9 Sep 2018 13:09:51 -0500 Subject: [PATCH] nijie: fix artist url normalization. --- app/logical/sources/strategies/base.rb | 2 +- app/logical/sources/strategies/nijie.rb | 3 +++ test/unit/artist_url_test.rb | 8 ++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/logical/sources/strategies/base.rb b/app/logical/sources/strategies/base.rb index 311eff13e..d0036ff86 100644 --- a/app/logical/sources/strategies/base.rb +++ b/app/logical/sources/strategies/base.rb @@ -116,7 +116,7 @@ module Sources # Sources::Strategies.find("http://dic.pixiv.net/a/THUNDERproject").normalizable_for_artist_finder? # => false def normalizable_for_artist_finder? - false + normalize_for_artist_finder.present? end def normalize_for_artist_finder diff --git a/app/logical/sources/strategies/nijie.rb b/app/logical/sources/strategies/nijie.rb index 81879d3bf..7aedf69a5 100644 --- a/app/logical/sources/strategies/nijie.rb +++ b/app/logical/sources/strategies/nijie.rb @@ -1,6 +1,7 @@ module Sources module Strategies class Nijie < Base + PROFILE = %r!\Ahttps?://nijie.info/members\.php\?id=(?\d+)\z!i PICTURE = %r{pic\d+\.nijie.info/nijie_picture/} PAGE = %r{\Ahttps?://nijie\.info/view\.php.+id=\d+} DIFF = %r!\Ahttps?://pic\d+\.nijie\.info/__rs_l120x120/nijie_picture/diff/main/[0-9_]+\.\w+\z!i @@ -46,6 +47,8 @@ module Sources end def profile_url + return url if url =~ PROFILE + links = page.search("a.name") if links.any? diff --git a/test/unit/artist_url_test.rb b/test/unit/artist_url_test.rb index 1096df7fa..843a72c7f 100644 --- a/test/unit/artist_url_test.rb +++ b/test/unit/artist_url_test.rb @@ -151,5 +151,13 @@ class ArtistUrlTest < ActiveSupport::TestCase assert_equal("https://twitter.com/aoimanabu/status/892370963630743552", url.url) assert_equal("http://twitter.com/aoimanabu/", url.normalized_url) end + + should "normalize nijie urls" do + url = FactoryBot.create(:artist_url, url: "https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png") + assert_equal("http://nijie.info/members.php?id=236014/", url.normalized_url) + + url = FactoryBot.create(:artist_url, url: "https://nijie.info/members.php?id=236014") + assert_equal("http://nijie.info/members.php?id=236014/", url.normalized_url) + end end end