From b3e533f3ff81980bad44aa6beb974e0e625a46a1 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 5 Jun 2017 14:00:29 -0500 Subject: [PATCH] Add download rewrite for `https://$artist.artstation.com/projects/$id`. --- .../downloads/rewrite_strategies/art_station.rb | 4 +++- test/unit/downloads/art_station_test.rb | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/logical/downloads/rewrite_strategies/art_station.rb b/app/logical/downloads/rewrite_strategies/art_station.rb index fb5e5f3c5..5b37fdd96 100644 --- a/app/logical/downloads/rewrite_strategies/art_station.rb +++ b/app/logical/downloads/rewrite_strategies/art_station.rb @@ -8,7 +8,7 @@ module Downloads if test_original(original_url) url = original_url end - elsif url =~ %r!https?://\w+\.artstation\.com/artwork/! + else url, headers = rewrite_html_url(url, headers) end @@ -22,6 +22,8 @@ module Downloads end def rewrite_html_url(url, headers) + return [url, headers] unless Sources::Strategies::ArtStation.url_match?(url) + source = Sources::Site.new(url) source.get [source.image_url, headers] diff --git a/test/unit/downloads/art_station_test.rb b/test/unit/downloads/art_station_test.rb index 735df3fdd..46e24357b 100644 --- a/test/unit/downloads/art_station_test.rb +++ b/test/unit/downloads/art_station_test.rb @@ -27,5 +27,18 @@ module Downloads assert_equal("https://cdna.artstation.com/p/assets/images/images/004/730/278/large/mendel-oh-dragonll.jpg", @download.source) end end + + context "a download for a https://$artist.artstation.com/projects/$id page" do + setup do + @source = "https://dantewontdie.artstation.com/projects/YZK5q" + @tempfile = Tempfile.new("danbooru-test") + @download = Downloads::File.new(@source, @tempfile.path) + @download.download! + end + + should "download the original image instead" do + assert_equal("https://cdna.artstation.com/p/assets/images/images/006/066/534/original/yinan-cui-reika.jpg?1495781565", @download.source) + end + end end end