From 05f9b78ee35d6b90f7cd3b8fd1d35eb1ce9e08f0 Mon Sep 17 00:00:00 2001 From: BrokenEagle Date: Wed, 17 Jun 2020 07:00:59 +0000 Subject: [PATCH 1/2] Distinctly separate and label explicit/guro content in Pixiv test This helps discern why these tests might be failing and serve as a reminder to set the permissions for the Pixiv account correctly. --- test/unit/sources/pixiv_test.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/unit/sources/pixiv_test.rb b/test/unit/sources/pixiv_test.rb index cb7a3d883..a22e5799d 100644 --- a/test/unit/sources/pixiv_test.rb +++ b/test/unit/sources/pixiv_test.rb @@ -300,17 +300,11 @@ module Sources context "parsing illust ids" do should "parse ids from illust urls" do - assert_illust_id(46324488, "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=46324488") - assert_illust_id(46324488, "https://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=46324488&page=0") - assert_illust_id(46324488, "https://i.pximg.net/img-original/img/2014/10/03/18/10/20/46324488_p0.png") - assert_illust_id(46324488, "https://i.pximg.net/img-master/img/2014/10/03/18/10/20/46324488_p0_master1200.jpg") - assert_illust_id(65015428, "https://tc-pximg01.techorus-cdn.com/img-original/img/2017/09/18/03/18/24/65015428_p4.png") assert_illust_id(46785915, "https://i.pximg.net/c/250x250_80_a2/img-master/img/2014/10/29/09/27/19/46785915_p0_square1200.jpg") assert_illust_id(79584713, "https://i-f.pximg.net/img-original/img/2020/02/19/00/40/18/79584713_p0.png") - assert_illust_id(46323924, "http://i1.pixiv.net/img-zip-ugoira/img/2014/10/03/17/29/16/46323924_ugoira1920x1080.zip") assert_illust_id(46304396, "http://i1.pixiv.net/img-original/img/2014/10/02/13/51/23/46304396_p0.png") assert_illust_id(46304396, "http://i1.pixiv.net/c/600x600/img-master/img/2014/10/02/13/51/23/46304396_p0_master1200.jpg") @@ -329,6 +323,15 @@ module Sources assert_illust_id(18557054, "http://www.pixiv.net/artworks/18557054") end + should "parse ids from expicit/guro illust urls" do + assert_illust_id(46324488, "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=46324488") + assert_illust_id(46324488, "https://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=46324488&page=0") + assert_illust_id(46324488, "https://i.pximg.net/img-original/img/2014/10/03/18/10/20/46324488_p0.png") + assert_illust_id(46324488, "https://i.pximg.net/img-master/img/2014/10/03/18/10/20/46324488_p0_master1200.jpg") + + assert_illust_id(46323924, "http://i1.pixiv.net/img-zip-ugoira/img/2014/10/03/17/29/16/46323924_ugoira1920x1080.zip") + end + should "not misparse ids from fanbox urls" do assert_nil_illust_id("https://fanbox.pixiv.net/images/post/39714/JvjJal8v1yLgc5DPyEI05YpT.png") assert_nil_illust_id("https://pixiv.pximg.net/fanbox/public/images/creator/1566167/profile/Ix6bnJmTaOAFZhXHLbWyIY1e.jpeg") From 158a4aa91686d6921a46336706f0e00a63619b87 Mon Sep 17 00:00:00 2001 From: BrokenEagle Date: Wed, 17 Jun 2020 06:22:29 +0000 Subject: [PATCH 2/2] Fix Pixiv user profile URL to use the latest format This will only affect new artist and commentary records going forward. --- app/logical/sources/strategies/pixiv.rb | 4 ++-- test/unit/sources/pixiv_test.rb | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/logical/sources/strategies/pixiv.rb b/app/logical/sources/strategies/pixiv.rb index ad7cd7eb1..fdc66c2bf 100644 --- a/app/logical/sources/strategies/pixiv.rb +++ b/app/logical/sources/strategies/pixiv.rb @@ -80,7 +80,7 @@ module Sources text = text.gsub(%r{https?://www\.pixiv\.net/member\.php\?id=([0-9]+)}i) do |_match| member_id = $1 - profile_url = "https://www.pixiv.net/member.php?id=#{member_id}" + profile_url = "https://www.pixiv.net/users/#{member_id}" search_params = {"search[url_matches]" => profile_url}.to_param %("user/#{member_id}":[#{profile_url}] "»":[/artists?#{search_params}]) @@ -155,7 +155,7 @@ module Sources end end - "https://www.pixiv.net/member.php?id=#{metadata.user_id}" + "https://www.pixiv.net/users/#{metadata.user_id}" rescue PixivApiClient::BadIDError nil end diff --git a/test/unit/sources/pixiv_test.rb b/test/unit/sources/pixiv_test.rb index a22e5799d..0cdb5ea62 100644 --- a/test/unit/sources/pixiv_test.rb +++ b/test/unit/sources/pixiv_test.rb @@ -78,7 +78,7 @@ module Sources @site = Sources::Strategies.find("http://www.pixiv.net/fanbox/creator/554149/post/82555") assert_equal("TYONE(お仕事募集中)", @site.artist_name) - assert_equal("https://www.pixiv.net/member.php?id=554149", @site.profile_url) + assert_equal("https://www.pixiv.net/users/554149", @site.profile_url) assert_equal("https://fanbox.pixiv.net/images/post/82555/Lyyeb6dDLcQZmy09nqLZapuS.jpeg", @site.image_url) assert_nothing_raised { @site.to_h } end @@ -104,7 +104,7 @@ module Sources end should "get the profile" do - assert_equal("https://www.pixiv.net/member.php?id=696859", @site.profile_url) + assert_equal("https://www.pixiv.net/users/696859", @site.profile_url) end should "get the artist name" do @@ -205,7 +205,7 @@ module Sources should "convert illust links and member links to dtext" do get_source("https://www.pixiv.net/member_illust.php?mode=medium&illust_id=63421642") - dtext_desc = %(foo 【pixiv #46337015 "»":[/posts?tags=pixiv:46337015]】bar 【pixiv #14901720 "»":[/posts?tags=pixiv:14901720]】\n\nbaz【"user/83739":[https://www.pixiv.net/member.php?id=83739] "»":[/artists?search%5Burl_matches%5D=https%3A%2F%2Fwww.pixiv.net%2Fmember.php%3Fid%3D83739]】) + dtext_desc = %(foo 【pixiv #46337015 "»":[/posts?tags=pixiv:46337015]】bar 【pixiv #14901720 "»":[/posts?tags=pixiv:14901720]】\n\nbaz【"user/83739":[https://www.pixiv.net/users/83739] "»":[/artists?search%5Burl_matches%5D=https%3A%2F%2Fwww.pixiv.net%2Fusers%2F83739]】) assert_equal(dtext_desc, @site.dtext_artist_commentary_desc) end end @@ -293,7 +293,7 @@ module Sources assert_equal("uroobnad", source.tag_name) assert_equal(["uroobnad"], source.other_names) - assert_includes(source.profile_urls, "https://www.pixiv.net/member.php?id=696859") + assert_includes(source.profile_urls, "https://www.pixiv.net/users/696859") assert_includes(source.profile_urls, "https://www.pixiv.net/stacc/uroobnad") end end