fixes #2746: Uploading from touch.pixiv.net broken

This commit is contained in:
Albert Yi
2016-10-31 12:19:43 -07:00
parent 54671dd866
commit a862c5bf03
3 changed files with 2635 additions and 6 deletions

View File

@@ -11,12 +11,13 @@ 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"
WEB = "^(?:https?://)?www\\.pixiv\\.net"
I12 = "^(?:https?://)?i[0-9]+\\.pixiv\\.net"
IMG = "^(?:https?://)?img[0-9]*\\.pixiv\\.net"
TOUCH = "^(?:https?://)?touch\\.pixiv\\.net"
def self.url_match?(url)
url =~ /#{WEB}|#{IMG}|#{I12}/i
url =~ /#{WEB}|#{IMG}|#{I12}|#{TOUCH}/i
end
def referer_url
@@ -343,8 +344,8 @@ module Sources
end
def work_page?
return true if url =~ %r!#{WEB}/member_illust\.php\?mode=(?:medium|big|manga|manga_big)&illust_id=\d+!i
return true if url =~ %r!#{WEB}/i/\d+$!i
return true if url =~ %r!(?:#{WEB}|#{TOUCH})/member_illust\.php\?mode=(?:medium|big|manga|manga_big)&illust_id=\d+!i
return true if url =~ %r!(?:#{WEB}|#{TOUCH})/i/\d+$!i
return false
end

File diff suppressed because it is too large Load Diff

View File

@@ -33,6 +33,19 @@ module Sources
end
end
context "A touch page" do
setup do
VCR.use_cassette("sources-pixiv-test/touch", :record => @vcr_record_option) do
@site = Sources::Site.new("http://touch.pixiv.net/member_illust.php?mode=medium&illust_id=59687915")
@image_urls = @site.get
end
end
should "get all the image urls" do
assert_equal("http://i4.pixiv.net/img-original/img/2016/10/29/17/13/23/59687915_p0.png", @image_urls)
end
end
context "A gallery page" do
setup do
VCR.use_cassette("sources-pixiv-test/gallery", :record => @vcr_record_option) do