sources: factor out Source::URL::Fanbox.

Also fix it so that we grab the full image for cover URLs like this:

* Sample: https://pixiv.pximg.net/c/1620x580_90_a2_g5/fanbox/public/images/creator/1566167/cover/QqxYtuWdy4XWQx1ZLIqr4wvA.jpeg
* Full: https://pixiv.pximg.net/fanbox/public/images/creator/1566167/cover/QqxYtuWdy4XWQx1ZLIqr4wvA.jpeg
This commit is contained in:
evazion
2022-02-28 06:02:35 -06:00
parent 317ec886bc
commit 1609059bf4
5 changed files with 122 additions and 63 deletions

View File

@@ -163,7 +163,7 @@ class ArtistURLTest < ActiveSupport::TestCase
should "normalize pixiv fanbox account urls" do
url = FactoryBot.create(:artist_url, :url => "http://www.pixiv.net/fanbox/creator/3113804")
assert_equal("http://www.pixiv.net/fanbox/creator/3113804", url.url)
assert_equal("http://www.pixiv.net/fanbox/creator/3113804/", url.normalized_url)
assert_equal("http://drw24olf.fanbox.cc/", url.normalized_url)
end
should "normalize pixiv.net/user/123 urls" do

View File

@@ -111,7 +111,7 @@ module Sources
should "still work" do
post = Sources::Strategies.find("https://pixiv.pximg.net/c/1620x580_90_a2_g5/fanbox/public/images/creator/1566167/cover/QqxYtuWdy4XWQx1ZLIqr4wvA.jpeg")
assert_nothing_raised { post.to_h }
assert_downloaded(366_291, post.image_url)
assert_downloaded(750_484, post.image_url)
assert_equal("https://omu001.fanbox.cc", post.profile_url)
assert_equal(post.profile_url, post.canonical_url)
artist = FactoryBot.create(:artist, name: "omu", url_string: "https://omu001.fanbox.cc")