Fix #3258: Fetch source data broken for https://i.pximg.net/* ugoiras.

This commit is contained in:
evazion
2017-08-06 17:22:16 -05:00
parent 40e006f7cb
commit c270954991
2 changed files with 15 additions and 6 deletions

View File

@@ -11,11 +11,11 @@ module Sources
TIMESTAMP = '(?:[0-9]{4}/[0-9]{2}/[0-9]{2}/[0-9]{2}/[0-9]{2}/[0-9]{2})'
EXT = "(?:jpg|jpeg|png|gif)"
WEB = "^(?:https?://)?www\\.pixiv\\.net"
I12 = "^(?:https?://)?i[0-9]+\\.pixiv\\.net"
IMG = "^(?:https?://)?img[0-9]*\\.pixiv\\.net"
PXIMG = "^(?:https?://)?i\\.pximg\\.net"
TOUCH = "^(?:https?://)?touch\\.pixiv\\.net"
WEB = '(?:\A(?:https?://)?www\.pixiv\.net)'
I12 = '(?:\A(?:https?://)?i[0-9]+\.pixiv\.net)'
IMG = '(?:\A(?:https?://)?img[0-9]*\.pixiv\.net)'
PXIMG = '(?:\A(?:https?://)?i\.pximg\.net)'
TOUCH = '(?:\A(?:https?://)?touch\.pixiv\.net)'
def self.url_match?(url)
url =~ /#{WEB}|#{IMG}|#{I12}|#{TOUCH}|#{PXIMG}/i
@@ -330,7 +330,7 @@ module Sources
return true if url =~ %r!#{PXIMG}/img-original/img/#{TIMESTAMP}/\d+_\w+\.#{EXT}!i
# http://i1.pixiv.net/img-zip-ugoira/img/2014/10/03/17/29/16/46323924_ugoira1920x1080.zip
return true if url =~ %r!#{I12}/img-zip-ugoira/img/#{TIMESTAMP}/\d+_ugoira\d+x\d+\.zip$!i
return true if url =~ %r!#{I12}|#{PXIMG}/img-zip-ugoira/img/#{TIMESTAMP}/\d+_ugoira\d+x\d+\.zip$!i
return false
end

View File

@@ -47,6 +47,15 @@ module Sources
end
end
context "A https://i.pximg.net/img-zip/ugoira/* source" do
should "get the metadata" do
@site = Sources::Site.new("https://i.pximg.net/img-zip-ugoira/img/2017/04/04/08/57/38/62247364_ugoira1920x1080.zip")
@site.get
assert_equal("uroobnad2", @site.artist_name)
end
end
context "fetching source data for a new manga image" do
setup do
get_source("http://www.pixiv.net/member_illust.php?mode=medium&illust_id=46304614")