pixiv: support new https://www.pixiv.net/artworks/:id urls.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
# * https://www.pixiv.net/member_illust.php?mode=medium&illust_id=46324488
|
||||
# * https://www.pixiv.net/member_illust.php?mode=manga&illust_id=46324488
|
||||
# * https://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=46324488&page=0
|
||||
# * https://www.pixiv.net/en/artworks/46324488
|
||||
#
|
||||
# * https://www.pixiv.net/member.php?id=339253
|
||||
# * https://www.pixiv.net/member_illust.php?id=339253&type=illust
|
||||
@@ -127,7 +128,7 @@ module Sources
|
||||
end
|
||||
|
||||
if illust_id.present?
|
||||
return "http://www.pixiv.net/member_illust.php?mode=medium&illust_id=#{illust_id}"
|
||||
return "https://www.pixiv.net/artworks/#{illust_id}"
|
||||
end
|
||||
|
||||
return url
|
||||
@@ -271,6 +272,10 @@ module Sources
|
||||
if url.host == "www.pixiv.net" && url.path == "/member_illust.php" && url.query_values["illust_id"].present?
|
||||
return url.query_values["illust_id"].to_i
|
||||
|
||||
# http://www.pixiv.net/en/artworks/46324488
|
||||
elsif url.host == "www.pixiv.net" && url.path =~ %r!\A/(?:en/)?artworks/(?<illust_id>\d+)!i
|
||||
return $~[:illust_id].to_i
|
||||
|
||||
# http://www.pixiv.net/i/18557054
|
||||
elsif url.host == "www.pixiv.net" && url.path =~ %r!\A/i/(?<illust_id>\d+)\z!i
|
||||
return $~[:illust_id].to_i
|
||||
|
||||
@@ -341,17 +341,13 @@ class Post < ApplicationRecord
|
||||
end
|
||||
|
||||
def normalized_source
|
||||
if pixiv_id.present?
|
||||
return "https://www.pixiv.net/artworks/#{pixiv_id}"
|
||||
end
|
||||
|
||||
case source
|
||||
when %r{\Ahttps?://twitter.com/[^/]+/status/(\d+)\z}i
|
||||
"https://twitter.com/i/web/status/#{$1}"
|
||||
when %r{\Ahttps?://img\d+\.pixiv\.net/img/[^\/]+/(\d+)}i,
|
||||
%r{\Ahttps?://i\d\.pixiv\.net/img\d+/img/[^\/]+/(\d+)}i
|
||||
"https://www.pixiv.net/member_illust.php?mode=medium&illust_id=#{$1}"
|
||||
|
||||
when %r{\Ahttps?://(?:i\d+\.pixiv\.net|i\.pximg\.net)/img-(?:master|original)/img/(?:\d+\/)+(\d+)_p}i,
|
||||
%r{\Ahttps?://(?:i\d+\.pixiv\.net|i\.pximg\.net)/c/\d+x\d+/img-master/img/(?:\d+\/)+(\d+)_p}i,
|
||||
%r{\Ahttps?://(?:i\d+\.pixiv\.net|i\.pximg\.net)/img-zip-ugoira/img/(?:\d+\/)+(\d+)_ugoira\d+x\d+\.zip}i
|
||||
"https://www.pixiv.net/member_illust.php?mode=medium&illust_id=#{$1}"
|
||||
|
||||
when %r{\Ahttps?://lohas\.nicoseiga\.jp/priv/(\d+)\?e=\d+&h=[a-f0-9]+}i,
|
||||
%r{\Ahttps?://lohas\.nicoseiga\.jp/priv/[a-f0-9]+/\d+/(\d+)}i
|
||||
|
||||
Reference in New Issue
Block a user