Fix #5152: Nicovideo video urls getting bad_source.
This commit is contained in:
@@ -17,14 +17,12 @@
|
|||||||
#
|
#
|
||||||
# Unhandled URLs
|
# Unhandled URLs
|
||||||
#
|
#
|
||||||
# * https://www.nicovideo.jp/watch/sm36465441
|
|
||||||
# * https://www.nicovideo.jp/watch/nm20676560
|
|
||||||
# * https://lohas.nicoseiga.jp/material/5746c5/4459092
|
# * https://lohas.nicoseiga.jp/material/5746c5/4459092
|
||||||
# * https://dic.nicovideo.jp/oekaki/52833.png
|
# * https://dic.nicovideo.jp/oekaki/52833.png
|
||||||
#
|
#
|
||||||
module Source
|
module Source
|
||||||
class URL::NicoSeiga < Source::URL
|
class URL::NicoSeiga < Source::URL
|
||||||
attr_reader :illust_id, :manga_id, :image_id, :user_id, :username, :profile_url
|
attr_reader :illust_id, :manga_id, :image_id, :sm_video_id, :nm_video_id, :user_id, :username, :profile_url
|
||||||
|
|
||||||
def self.match?(url)
|
def self.match?(url)
|
||||||
url.domain.in?(%w[nicovideo.jp nicoseiga.jp nicomanga.jp nimg.jp nico.ms])
|
url.domain.in?(%w[nicovideo.jp nicoseiga.jp nicomanga.jp nimg.jp nico.ms])
|
||||||
@@ -49,6 +47,14 @@ module Source
|
|||||||
in /seiga\.nicovideo\.jp$/, "watch", /^mg(\d+)/ => manga_id
|
in /seiga\.nicovideo\.jp$/, "watch", /^mg(\d+)/ => manga_id
|
||||||
@manga_id = $1
|
@manga_id = $1
|
||||||
|
|
||||||
|
# https://www.nicovideo.jp/watch/sm36465441
|
||||||
|
in "www.nicovideo.jp", "watch", /^sm(\d+)/
|
||||||
|
@sm_video_id = $1
|
||||||
|
|
||||||
|
# https://www.nicovideo.jp/watch/nm36465441
|
||||||
|
in "www.nicovideo.jp", "watch", /^nm(\d+)/
|
||||||
|
@nm_video_id = $1
|
||||||
|
|
||||||
# https://seiga.nicovideo.jp/image/source/3521156 (single image; page: https://seiga.nicovideo.jp/seiga/im3312222)
|
# https://seiga.nicovideo.jp/image/source/3521156 (single image; page: https://seiga.nicovideo.jp/seiga/im3312222)
|
||||||
# https://seiga.nicovideo.jp/image/source/4744553 (manga image; page: https://seiga.nicovideo.jp/watch/mg122274)
|
# https://seiga.nicovideo.jp/image/source/4744553 (manga image; page: https://seiga.nicovideo.jp/watch/mg122274)
|
||||||
#
|
#
|
||||||
@@ -102,6 +108,14 @@ module Source
|
|||||||
in "nico.ms", /^mg(\d+)$/
|
in "nico.ms", /^mg(\d+)$/
|
||||||
@manga_id = $1
|
@manga_id = $1
|
||||||
|
|
||||||
|
# https://nico.ms/sm36465441
|
||||||
|
in "nico.ms", /^sm(\d+)$/
|
||||||
|
@sm_video_id = $1
|
||||||
|
|
||||||
|
# https://nico.ms/nm36465441
|
||||||
|
in "nico.ms", /^nm(\d+)$/
|
||||||
|
@nm_video_id = $1
|
||||||
|
|
||||||
# https://seiga.nicovideo.jp/user/illust/456831
|
# https://seiga.nicovideo.jp/user/illust/456831
|
||||||
# https://sp.seiga.nicovideo.jp/user/illust/20542122
|
# https://sp.seiga.nicovideo.jp/user/illust/20542122
|
||||||
# https://ext.seiga.nicovideo.jp/user/illust/20542122
|
# https://ext.seiga.nicovideo.jp/user/illust/20542122
|
||||||
@@ -166,6 +180,10 @@ 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 nm_video_id.present?
|
||||||
|
"https://www.nicovideo.jp/watch/nm#{nm_video_id}"
|
||||||
|
elsif sm_video_id.present?
|
||||||
|
"https://www.nicovideo.jp/watch/sm#{sm_video_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
|
||||||
|
|||||||
@@ -201,8 +201,12 @@ module Sources
|
|||||||
assert(Source::URL.page_url?("https://seiga.nicovideo.jp/seiga/im520647"))
|
assert(Source::URL.page_url?("https://seiga.nicovideo.jp/seiga/im520647"))
|
||||||
assert(Source::URL.page_url?("https://sp.seiga.nicovideo.jp/seiga/im3521156"))
|
assert(Source::URL.page_url?("https://sp.seiga.nicovideo.jp/seiga/im3521156"))
|
||||||
assert(Source::URL.page_url?("https://seiga.nicovideo.jp/watch/mg316708"))
|
assert(Source::URL.page_url?("https://seiga.nicovideo.jp/watch/mg316708"))
|
||||||
|
assert(Source::URL.page_url?("https://www.nicovideo.jp/watch/sm36465441"))
|
||||||
|
assert(Source::URL.page_url?("https://www.nicovideo.jp/watch/nm36465441"))
|
||||||
assert(Source::URL.page_url?("https://nico.ms/im10922621"))
|
assert(Source::URL.page_url?("https://nico.ms/im10922621"))
|
||||||
assert(Source::URL.page_url?("https://nico.ms/mg310193"))
|
assert(Source::URL.page_url?("https://nico.ms/mg310193"))
|
||||||
|
assert(Source::URL.page_url?("https://nico.ms/sm36465441"))
|
||||||
|
assert(Source::URL.page_url?("https://nico.ms/nm36465441"))
|
||||||
|
|
||||||
assert(Source::URL.profile_url?("https://seiga.nicovideo.jp/user/illust/456831"))
|
assert(Source::URL.profile_url?("https://seiga.nicovideo.jp/user/illust/456831"))
|
||||||
assert(Source::URL.profile_url?("https://ext.seiga.nicovideo.jp/user/illust/20542122"))
|
assert(Source::URL.profile_url?("https://ext.seiga.nicovideo.jp/user/illust/20542122"))
|
||||||
|
|||||||
Reference in New Issue
Block a user