diff --git a/app/logical/sources/strategies/pixiv.rb b/app/logical/sources/strategies/pixiv.rb index 578e15160..47d30d091 100644 --- a/app/logical/sources/strategies/pixiv.rb +++ b/app/logical/sources/strategies/pixiv.rb @@ -232,7 +232,7 @@ module Sources # http://www.pixiv.net/member_illust.php?mode=big&illust_id=18557054 # http://www.pixiv.net/member_illust.php?mode=manga&illust_id=18557054 # http://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=18557054&page=1 - if url.host == "www.pixiv.net" && url.path == "/member_illust.php" && url.query_values["illust_id"].present? + if url.host == "www.pixiv.net" && url.path == "/member_illust.php" && url.query_values&.has_key?("illust_id") return url.query_values["illust_id"].to_i # http://www.pixiv.net/en/artworks/46324488 diff --git a/test/unit/sources/pixiv_test.rb b/test/unit/sources/pixiv_test.rb index 146a4292e..f49cb7a69 100644 --- a/test/unit/sources/pixiv_test.rb +++ b/test/unit/sources/pixiv_test.rb @@ -359,6 +359,10 @@ module Sources assert_nil_illust_id("https://i.pximg.net/c/600x600/novel-cover-master/img/2019/01/14/01/15/05/10617324_d84daae89092d96bbe66efafec136e42_master1200.jpg") assert_nil_illust_id("https://www.pixiv.net/novel/show.php?id=10617324") end + + should "not misparse /member_illust.php urls" do + assert_nil_illust_id("https://www.pixiv.net/member_illust.php") + end end end