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://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:
#
# * 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
FILENAME3 = %r!(?<illust_id>\d+)_(?<artist_id>\d+)_(?<timestamp>\d{14})_\d+!i
DIR = %r!(?:__rs_\w+/)?nijie_picture(?:/diff/main)?!
IMAGE_URL = %r!\Ahttps?://pic\d+\.nijie\.info/#{DIR}/#{Regexp.union(FILENAME1, FILENAME2, FILENAME3)}\.\w+\z!i
IMAGE_BASE_URL = %r!\Ahttps?://(?:pic\d+\.nijie\.info|pic\.nijie\.net)!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
["nijie.info"]
["nijie.info", "nijie.net"]
end
def site_name

View File

@@ -5,7 +5,7 @@ module Sources
context "downloading a 'http://nijie.info/view.php?id=:id' url" do
should "download the original file" do
@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_downloaded(132_555, @source)
end
@@ -13,7 +13,7 @@ module Sources
context "downloading a 'https://pic*.nijie.info/nijie_picture/:id.jpg' url" 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_downloaded(132_555, @source)
end
@@ -22,13 +22,13 @@ module Sources
context "downloading a 'https://pic*.nijie.info/__rs_*/nijie_picture/:id.jpg' preview url" do
should "download the original file" do
assert_rewritten(
"https://pic01.nijie.info/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/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(
"https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png",
"https://pic03.nijie.info/__rs_cns350x350/nijie_picture/236014_20170620101426_0.png"
"https://pic.nijie.net/03/nijie_picture/236014_20170620101426_0.png",
"https://pic.nijie.net/03/__rs_cns350x350/nijie_picture/236014_20170620101426_0.png"
)
end
end
@@ -42,7 +42,7 @@ module Sources
end
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)
end
@@ -51,7 +51,7 @@ module Sources
end
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_http_exists(@site.preview_url)
end
@@ -65,7 +65,14 @@ module Sources
end
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
should "normalize characters in tags" do
@@ -89,15 +96,15 @@ module Sources
context "The source site for a nijie referer url" 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
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
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)
end
@@ -120,11 +127,11 @@ module Sources
end
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
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)
end
@@ -148,12 +155,12 @@ module Sources
should "get the image urls" do
urls = %w[
https://pic03.nijie.info/nijie_picture/236014_20170620101426_0.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_0_236014_20170620101329.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_1_236014_20170620101330.png
https://pic01.nijie.info/nijie_picture/diff/main/218856_2_236014_20170620101331.png
https://pic03.nijie.info/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/236014_20170620101426_0.png
https://pic.nijie.net/01/nijie_picture/diff/main/218856_0_236014_20170620101329.png
https://pic.nijie.net/01/nijie_picture/diff/main/218856_1_236014_20170620101330.png
https://pic.nijie.net/01/nijie_picture/diff/main/218856_2_236014_20170620101331.png
https://pic.nijie.net/03/nijie_picture/diff/main/218856_3_236014_20170620101331.png
https://pic.nijie.net/03/nijie_picture/diff/main/218856_4_236014_20170620101333.png
]
assert_equal(urls, @site.image_urls)
@@ -172,7 +179,7 @@ module Sources
context "The source site for a nijie image url without referer" 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)
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
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.canonical_url)
@@ -202,7 +209,7 @@ module Sources
context "An image url that contains the illust id and artist id (format 2)" 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.canonical_url)
@@ -231,7 +238,7 @@ module Sources
context "A deleted work" do
context "for an image 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_equal("https://nijie.info/members.php?id=196201", site.profile_url)