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]
|
||||
|
||||
# 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/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
|
||||
|
||||
# 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)
|
||||
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/nicoseiga/lohas/o/8ba0a9b2ea34e1ef3b5cc50785bd10cd63ec7e4a/1592187477/10466669
|
||||
@@ -146,8 +149,8 @@ module Source
|
||||
"https://seiga.nicovideo.jp/seiga/im#{illust_id}"
|
||||
elsif manga_id.present?
|
||||
"https://seiga.nicovideo.jp/watch/mg#{manga_id}"
|
||||
elsif image_id.present?
|
||||
"https://seiga.nicovideo.jp/image/source/#{image_id}"
|
||||
#elsif image_id.present?
|
||||
# "https://seiga.nicovideo.jp/image/source/#{image_id}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -54,7 +54,7 @@ module Sources
|
||||
end
|
||||
|
||||
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/watch/mg470189", @site_3.page_url)
|
||||
end
|
||||
@@ -166,10 +166,10 @@ module Sources
|
||||
source3 = "http://lohas.nicoseiga.jp/o/910aecf08e542285862954017f8a33a8c32a8aec/1433298801/4937663"
|
||||
source4 = "http://seiga.nicovideo.jp/image/source?id=3312222"
|
||||
|
||||
assert_equal("https://seiga.nicovideo.jp/image/source/3521156", Source::URL.page_url(source1))
|
||||
assert_equal("https://seiga.nicovideo.jp/image/source/3583893", 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/image/source/3312222", Source::URL.page_url(source4))
|
||||
assert_nil(Source::URL.page_url(source1))
|
||||
assert_nil(Source::URL.page_url(source2))
|
||||
assert_equal("https://seiga.nicovideo.jp/seiga/im4937663", Source::URL.page_url(source3))
|
||||
assert_nil(Source::URL.page_url(source4))
|
||||
assert_nil(Source::URL.page_url("https://seiga.nicovideo.jp"))
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user