nicoseiga: fix page_url method not to return seiga.nicovideo.jp/image/source/:id urls.
Fix the page_url method not to return URLs like this:
https://seiga.nicovideo.jp/image/source/8017978 (page: https://seiga.nicovideo.jp/watch/mg310193)
These are direct image URLs, not page URLs. It's not generally possible
to get to the page URL from an image URL like this.
This fixes it so that we don't incorrectly set the source of NicoSeiga
uploads to the image URL.
This commit is contained in:
@@ -63,9 +63,12 @@ module Source
|
|||||||
@image_id = params[:id]
|
@image_id = params[:id]
|
||||||
|
|
||||||
# https://lohas.nicoseiga.jp/o/971eb8af9bbcde5c2e51d5ef3a2f62d6d9ff5552/1589933964/3583893 (page: https://seiga.nicovideo.jp/seiga/im3583893)
|
# https://lohas.nicoseiga.jp/o/971eb8af9bbcde5c2e51d5ef3a2f62d6d9ff5552/1589933964/3583893 (page: https://seiga.nicovideo.jp/seiga/im3583893)
|
||||||
|
in "lohas.nicoseiga.jp", "o", *, /^\d+$/ => illust_id
|
||||||
|
@illust_id = illust_id
|
||||||
|
|
||||||
# https://lohas.nicoseiga.jp/priv/b80f86c0d8591b217e7513a9e175e94e00f3c7a1/1384936074/3583893 (page: https://seiga.nicovideo.jp/seiga/im3583893)
|
# https://lohas.nicoseiga.jp/priv/b80f86c0d8591b217e7513a9e175e94e00f3c7a1/1384936074/3583893 (page: https://seiga.nicovideo.jp/seiga/im3583893)
|
||||||
# https://lohas.nicoseiga.jp/priv/3521156?e=1382558156&h=f2e089256abd1d453a455ec8f317a6c703e2cedf (page: https://seiga.nicovideo.jp/seiga/im3521156)
|
# https://lohas.nicoseiga.jp/priv/3521156?e=1382558156&h=f2e089256abd1d453a455ec8f317a6c703e2cedf (page: https://seiga.nicovideo.jp/seiga/im3521156)
|
||||||
in "lohas.nicoseiga.jp", ("priv" | "o"), *, /^\d+$/ => image_id
|
in "lohas.nicoseiga.jp", "priv", *, /^\d+$/ => image_id
|
||||||
@image_id = image_id
|
@image_id = image_id
|
||||||
|
|
||||||
# https://lohas.nicoseiga.jp/thumb/2163478i (page: https://seiga.nicovideo.jp/seiga/im2163478, image: https://lohas.nicoseiga.jp/priv/2e76be4c553c571b5a81e6ea1a69ab1367f02a41/1646904833/2163478)
|
# https://lohas.nicoseiga.jp/thumb/2163478i (page: https://seiga.nicovideo.jp/seiga/im2163478, image: https://lohas.nicoseiga.jp/priv/2e76be4c553c571b5a81e6ea1a69ab1367f02a41/1646904833/2163478)
|
||||||
@@ -76,7 +79,7 @@ module Source
|
|||||||
|
|
||||||
# https://lohas.nicoseiga.jp/thumb/4744553p (page: https://seiga.nicovideo.jp/watch/mg122274, image: https://lohas.nicoseiga.jp/priv/49807693c31ed226818b9167e8e87561dd19a445/1646904643/4744553)
|
# https://lohas.nicoseiga.jp/thumb/4744553p (page: https://seiga.nicovideo.jp/watch/mg122274, image: https://lohas.nicoseiga.jp/priv/49807693c31ed226818b9167e8e87561dd19a445/1646904643/4744553)
|
||||||
in "lohas.nicoseiga.jp", "thumb", /^(\d+)p$/ => image_id
|
in "lohas.nicoseiga.jp", "thumb", /^(\d+)p$/ => image_id
|
||||||
@illust_id = $1
|
@image_id = $1
|
||||||
|
|
||||||
# https://dcdn.cdn.nimg.jp/priv/62a56a7f67d3d3746ae5712db9cac7d465f4a339/1592186183/10466669
|
# https://dcdn.cdn.nimg.jp/priv/62a56a7f67d3d3746ae5712db9cac7d465f4a339/1592186183/10466669
|
||||||
# https://dcdn.cdn.nimg.jp/nicoseiga/lohas/o/8ba0a9b2ea34e1ef3b5cc50785bd10cd63ec7e4a/1592187477/10466669
|
# https://dcdn.cdn.nimg.jp/nicoseiga/lohas/o/8ba0a9b2ea34e1ef3b5cc50785bd10cd63ec7e4a/1592187477/10466669
|
||||||
@@ -146,8 +149,8 @@ module Source
|
|||||||
"https://seiga.nicovideo.jp/seiga/im#{illust_id}"
|
"https://seiga.nicovideo.jp/seiga/im#{illust_id}"
|
||||||
elsif manga_id.present?
|
elsif manga_id.present?
|
||||||
"https://seiga.nicovideo.jp/watch/mg#{manga_id}"
|
"https://seiga.nicovideo.jp/watch/mg#{manga_id}"
|
||||||
elsif image_id.present?
|
#elsif image_id.present?
|
||||||
"https://seiga.nicovideo.jp/image/source/#{image_id}"
|
# "https://seiga.nicovideo.jp/image/source/#{image_id}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ module Sources
|
|||||||
end
|
end
|
||||||
|
|
||||||
should "get the page url" do
|
should "get the page url" do
|
||||||
assert_equal("https://seiga.nicovideo.jp/image/source/4937663", @site_1.page_url)
|
assert_equal("https://seiga.nicovideo.jp/seiga/im4937663", @site_1.page_url)
|
||||||
assert_equal("https://seiga.nicovideo.jp/seiga/im4937663", @site_2.page_url)
|
assert_equal("https://seiga.nicovideo.jp/seiga/im4937663", @site_2.page_url)
|
||||||
assert_equal("https://seiga.nicovideo.jp/watch/mg470189", @site_3.page_url)
|
assert_equal("https://seiga.nicovideo.jp/watch/mg470189", @site_3.page_url)
|
||||||
end
|
end
|
||||||
@@ -166,10 +166,10 @@ module Sources
|
|||||||
source3 = "http://lohas.nicoseiga.jp/o/910aecf08e542285862954017f8a33a8c32a8aec/1433298801/4937663"
|
source3 = "http://lohas.nicoseiga.jp/o/910aecf08e542285862954017f8a33a8c32a8aec/1433298801/4937663"
|
||||||
source4 = "http://seiga.nicovideo.jp/image/source?id=3312222"
|
source4 = "http://seiga.nicovideo.jp/image/source?id=3312222"
|
||||||
|
|
||||||
assert_equal("https://seiga.nicovideo.jp/image/source/3521156", Source::URL.page_url(source1))
|
assert_nil(Source::URL.page_url(source1))
|
||||||
assert_equal("https://seiga.nicovideo.jp/image/source/3583893", Source::URL.page_url(source2))
|
assert_nil(Source::URL.page_url(source2))
|
||||||
assert_equal("https://seiga.nicovideo.jp/image/source/4937663", Source::URL.page_url(source3))
|
assert_equal("https://seiga.nicovideo.jp/seiga/im4937663", Source::URL.page_url(source3))
|
||||||
assert_equal("https://seiga.nicovideo.jp/image/source/3312222", Source::URL.page_url(source4))
|
assert_nil(Source::URL.page_url(source4))
|
||||||
assert_nil(Source::URL.page_url("https://seiga.nicovideo.jp"))
|
assert_nil(Source::URL.page_url("https://seiga.nicovideo.jp"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user