evazion
2019-08-04 17:49:54 -05:00
parent 9163b3cb1c
commit 9ecf36585c
2 changed files with 37 additions and 27 deletions

View File

@@ -7,6 +7,8 @@
# * https://pic05.nijie.info/nijie_picture/diff/main/559053_20180604023346_1.png (page: http://nijie.info/view_popup.php?id=265428#diff_2) # * https://pic05.nijie.info/nijie_picture/diff/main/559053_20180604023346_1.png (page: http://nijie.info/view_popup.php?id=265428#diff_2)
# * https://pic04.nijie.info/nijie_picture/diff/main/287736_161475_20181112032855_1.png (page: http://nijie.info/view_popup.php?id=287736#diff_2) # * https://pic04.nijie.info/nijie_picture/diff/main/287736_161475_20181112032855_1.png (page: http://nijie.info/view_popup.php?id=287736#diff_2)
# #
# * https://pic.nijie.net/03/nijie_picture/236014_20170620101426_0.png (page: https://www.nijie.info/view.php?id=218856)
#
# Unhandled: # Unhandled:
# #
# * https://pic01.nijie.info/nijie_picture/20120211210359.jpg # * https://pic01.nijie.info/nijie_picture/20120211210359.jpg
@@ -57,11 +59,12 @@ module Sources
# https://pic04.nijie.info/nijie_picture/diff/main/287736_161475_20181112032855_1.png # https://pic04.nijie.info/nijie_picture/diff/main/287736_161475_20181112032855_1.png
FILENAME3 = %r!(?<illust_id>\d+)_(?<artist_id>\d+)_(?<timestamp>\d{14})_\d+!i FILENAME3 = %r!(?<illust_id>\d+)_(?<artist_id>\d+)_(?<timestamp>\d{14})_\d+!i
DIR = %r!(?:__rs_\w+/)?nijie_picture(?:/diff/main)?! IMAGE_BASE_URL = %r!\Ahttps?://(?:pic\d+\.nijie\.info|pic\.nijie\.net)!i
IMAGE_URL = %r!\Ahttps?://pic\d+\.nijie\.info/#{DIR}/#{Regexp.union(FILENAME1, FILENAME2, FILENAME3)}\.\w+\z!i DIR = %r!(?:\d+/)?(?:__rs_\w+/)?nijie_picture(?:/diff/main)?!
IMAGE_URL = %r!#{IMAGE_BASE_URL}/#{DIR}/#{Regexp.union(FILENAME1, FILENAME2, FILENAME3)}\.\w+\z!i
def domains def domains
["nijie.info"] ["nijie.info", "nijie.net"]
end end
def site_name def site_name

View File

@@ -5,7 +5,7 @@ module Sources
context "downloading a 'http://nijie.info/view.php?id=:id' url" do context "downloading a 'http://nijie.info/view.php?id=:id' url" do
should "download the original file" do should "download the original file" do
@source = "http://nijie.info/view.php?id=213043" @source = "http://nijie.info/view.php?id=213043"
@rewrite = "https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg" @rewrite = "https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg"
assert_rewritten(@rewrite, @source) assert_rewritten(@rewrite, @source)
assert_downloaded(132_555, @source) assert_downloaded(132_555, @source)
end end
@@ -13,7 +13,7 @@ module Sources
context "downloading a 'https://pic*.nijie.info/nijie_picture/:id.jpg' url" do context "downloading a 'https://pic*.nijie.info/nijie_picture/:id.jpg' url" do
should "download the original file" do should "download the original file" do
@source = "https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg" @source = "https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg"
assert_not_rewritten(@source) assert_not_rewritten(@source)
assert_downloaded(132_555, @source) assert_downloaded(132_555, @source)
end end
@@ -22,13 +22,13 @@ module Sources
context "downloading a 'https://pic*.nijie.info/__rs_*/nijie_picture/:id.jpg' preview url" do context "downloading a 'https://pic*.nijie.info/__rs_*/nijie_picture/:id.jpg' preview url" do
should "download the original file" do should "download the original file" do
assert_rewritten( assert_rewritten(
"https://pic01.nijie.info/nijie_picture/diff/main/218856_0_236014_20170620101329.png", "https://pic.nijie.net/01/nijie_picture/diff/main/218856_0_236014_20170620101329.png",
"https://pic01.nijie.info/__rs_l120x120/nijie_picture/diff/main/218856_0_236014_20170620101329.png" "https://pic.nijie.net/01/__rs_l120x120/nijie_picture/diff/main/218856_0_236014_20170620101329.png"
) )
assert_rewritten( assert_rewritten(
"https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png", "https://pic.nijie.net/03/nijie_picture/236014_20170620101426_0.png",
"https://pic03.nijie.info/__rs_cns350x350/nijie_picture/236014_20170620101426_0.png" "https://pic.nijie.net/03/__rs_cns350x350/nijie_picture/236014_20170620101426_0.png"
) )
end end
end end
@@ -42,7 +42,7 @@ module Sources
end end
should "get the image url" do should "get the image url" do
assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) assert_equal("https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg", @site.image_url)
assert_http_size(132_555, @site.image_url) assert_http_size(132_555, @site.image_url)
end end
@@ -51,7 +51,7 @@ module Sources
end end
should "get the preview url" do should "get the preview url" do
assert_equal("https://pic03.nijie.info/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url) assert_equal("https://pic.nijie.net/03/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url)
assert_equal([@site.preview_url], @site.preview_urls) assert_equal([@site.preview_url], @site.preview_urls)
assert_http_exists(@site.preview_url) assert_http_exists(@site.preview_url)
end end
@@ -65,7 +65,14 @@ module Sources
end end
should "get the tags" do should "get the tags" do
assert_equal([["眼鏡", "https://nijie.info/search.php?word=%E7%9C%BC%E9%8F%A1"], ["リトルウィッチアカデミア", "https://nijie.info/search.php?word=%E3%83%AA%E3%83%88%E3%83%AB%E3%82%A6%E3%82%A3%E3%83%83%E3%83%81%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%82%A2"], ["アーシュラ先生", "https://nijie.info/search.php?word=%E3%82%A2%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%A9%E5%85%88%E7%94%9F"]], @site.tags) tags = [
["眼鏡", "https://nijie.info/search.php?word=%E7%9C%BC%E9%8F%A1"],
["谷間", "https://nijie.info/search.php?word=%E8%B0%B7%E9%96%93"],
["リトルウィッチアカデミア", "https://nijie.info/search.php?word=%E3%83%AA%E3%83%88%E3%83%AB%E3%82%A6%E3%82%A3%E3%83%83%E3%83%81%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%82%A2"],
["アーシュラ先生", "https://nijie.info/search.php?word=%E3%82%A2%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%A9%E5%85%88%E7%94%9F"]
]
assert_equal(tags, @site.tags)
end end
should "normalize characters in tags" do should "normalize characters in tags" do
@@ -89,15 +96,15 @@ module Sources
context "The source site for a nijie referer url" do context "The source site for a nijie referer url" do
setup do setup do
@site = Sources::Strategies.find("http://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", "https://nijie.info/view_popup.php?id=213043") @site = Sources::Strategies.find("http://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg", "https://nijie.info/view_popup.php?id=213043")
end end
should "get the image url" do should "get the image url" do
assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) assert_equal("https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg", @site.image_url)
end end
should "get the preview urls" do should "get the preview urls" do
assert_equal("https://pic03.nijie.info/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url) assert_equal("https://pic.nijie.net/03/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url)
assert_equal([@site.preview_url], @site.preview_urls) assert_equal([@site.preview_url], @site.preview_urls)
end end
@@ -120,11 +127,11 @@ module Sources
end end
should "get the image url" do should "get the image url" do
assert_equal("https://pic03.nijie.info/nijie_picture/728995_20170505014820_0.jpg", @site.image_url) assert_equal("https://pic.nijie.net/03/nijie_picture/728995_20170505014820_0.jpg", @site.image_url)
end end
should "get the preview urls" do should "get the preview urls" do
assert_equal("https://pic03.nijie.info/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url) assert_equal("https://pic.nijie.net/03/__rs_l170x170/nijie_picture/728995_20170505014820_0.jpg", @site.preview_url)
assert_equal([@site.preview_url], @site.preview_urls) assert_equal([@site.preview_url], @site.preview_urls)
end end
@@ -148,12 +155,12 @@ module Sources
should "get the image urls" do should "get the image urls" do
urls = %w[ urls = %w[
https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png https://pic.nijie.net/03/nijie_picture/236014_20170620101426_0.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_0_236014_20170620101329.png https://pic.nijie.net/01/nijie_picture/diff/main/218856_0_236014_20170620101329.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_1_236014_20170620101330.png https://pic.nijie.net/01/nijie_picture/diff/main/218856_1_236014_20170620101330.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_2_236014_20170620101331.png https://pic.nijie.net/01/nijie_picture/diff/main/218856_2_236014_20170620101331.png
https://pic03.nijie.info/nijie_picture/diff/main/218856_3_236014_20170620101331.png https://pic.nijie.net/03/nijie_picture/diff/main/218856_3_236014_20170620101331.png
https://pic03.nijie.info/nijie_picture/diff/main/218856_4_236014_20170620101333.png https://pic.nijie.net/03/nijie_picture/diff/main/218856_4_236014_20170620101333.png
] ]
assert_equal(urls, @site.image_urls) assert_equal(urls, @site.image_urls)
@@ -172,7 +179,7 @@ module Sources
context "The source site for a nijie image url without referer" do context "The source site for a nijie image url without referer" do
should "get the correct urls" do should "get the correct urls" do
image_url = "https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png" image_url = "https://pic.nijie.net/03/nijie_picture/236014_20170620101426_0.png"
site = Sources::Strategies.find(image_url) site = Sources::Strategies.find(image_url)
assert_nil(site.page_url) assert_nil(site.page_url)
@@ -188,7 +195,7 @@ module Sources
context "An image url that contains the illust id and artist id (format 1)" do context "An image url that contains the illust id and artist id (format 1)" do
should "fetch all the data" do should "fetch all the data" do
site = Sources::Strategies.find("https://pic03.nijie.info/nijie_picture/diff/main/218856_4_236014_20170620101333.png") site = Sources::Strategies.find("https://pic.nijie.net/03/nijie_picture/diff/main/218856_4_236014_20170620101333.png")
assert_equal("https://nijie.info/view.php?id=218856", site.page_url) assert_equal("https://nijie.info/view.php?id=218856", site.page_url)
assert_equal("https://nijie.info/view.php?id=218856", site.canonical_url) assert_equal("https://nijie.info/view.php?id=218856", site.canonical_url)
@@ -202,7 +209,7 @@ module Sources
context "An image url that contains the illust id and artist id (format 2)" do context "An image url that contains the illust id and artist id (format 2)" do
should "fetch all the data" do should "fetch all the data" do
site = Sources::Strategies.find("https://pic04.nijie.info/nijie_picture/diff/main/287736_161475_20181112032855_1.png") site = Sources::Strategies.find("https://pic.nijie.net/04/nijie_picture/diff/main/287736_161475_20181112032855_1.png")
assert_equal("https://nijie.info/view.php?id=287736", site.page_url) assert_equal("https://nijie.info/view.php?id=287736", site.page_url)
assert_equal("https://nijie.info/view.php?id=287736", site.canonical_url) assert_equal("https://nijie.info/view.php?id=287736", site.canonical_url)
@@ -231,7 +238,7 @@ module Sources
context "A deleted work" do context "A deleted work" do
context "for an image url" do context "for an image url" do
should "find the profile url" do should "find the profile url" do
site = Sources::Strategies.find("https://pic01.nijie.info/nijie_picture/diff/main/196201_20150201033106_0.jpg") site = Sources::Strategies.find("https://pic.nijie.net/01/nijie_picture/diff/main/196201_20150201033106_0.jpg")
assert_nothing_raised { site.to_h } assert_nothing_raised { site.to_h }
assert_equal("https://nijie.info/members.php?id=196201", site.profile_url) assert_equal("https://nijie.info/members.php?id=196201", site.profile_url)