deviantart: handle origin-orig.deviantart.net urls.
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
module Sources
|
||||
module Strategies
|
||||
class DeviantArt < Base
|
||||
ATTRIBUTED_ASSET = %r{\Ahttps?://(?:fc|th|pre|orig|img)\d{2}\.deviantart\.net/.+/[a-z0-9_]*_by_[a-z0-9_]+-d([a-z0-9]+)\.}i
|
||||
ASSET = %r{\Ahttps?://(?:fc|th|pre|orig|img)\d{2}\.deviantart\.net/.+/[a-f0-9]+-d([a-z0-9]+)\.}i
|
||||
ASSET_SUBDOMAINS = %r{(?:fc|th|pre|img|orig|origin-orig)\d*}i
|
||||
ATTRIBUTED_ASSET = %r{\Ahttps?://#{ASSET_SUBDOMAINS}\.deviantart\.net/.+/[a-z0-9_]*_by_[a-z0-9_]+-d([a-z0-9]+)\.}i
|
||||
ASSET = %r{\Ahttps?://#{ASSET_SUBDOMAINS}\.deviantart\.net/.+/[a-f0-9]+-d([a-z0-9]+)\.}i
|
||||
PATH_ART = %r{\Ahttps?://www\.deviantart\.com/([^/]+)/art/}
|
||||
RESERVED_SUBDOMAINS = %r{\Ahttps?://(?:fc|th|pre|orig|img|www)\.}
|
||||
RESERVED_SUBDOMAINS = %r{\Ahttps?://(?:#{ASSET_SUBDOMAINS}|www)\.}
|
||||
SUBDOMAIN_ART = %r{\Ahttps?://(.+?)\.deviantart\.com(.*)}
|
||||
PROFILE = %r{\Ahttps?://www\.deviantart\.com/([^/]+)/?\z}
|
||||
|
||||
|
||||
@@ -44,6 +44,18 @@ module Sources
|
||||
end
|
||||
end
|
||||
|
||||
context "The source for a origin-orig.deviantart.net image url without a referer" do
|
||||
should "work" do
|
||||
@site = Sources::Strategies.find("http://origin-orig.deviantart.net/7b5b/f/2017/160/c/5/test_post_please_ignore_by_noizave-dbc3a48.png")
|
||||
|
||||
assert_equal("noizave", @site.artist_name)
|
||||
assert_equal("https://www.deviantart.com/noizave", @site.profile_url)
|
||||
assert_equal("http://origin-orig.deviantart.net/7b5b/f/2017/160/c/5/test_post_please_ignore_by_noizave-dbc3a48.png", @site.image_url)
|
||||
assert_equal(%w[bar baz foo], @site.tags.map(&:first))
|
||||
assert_nothing_raised { @site.to_h }
|
||||
end
|
||||
end
|
||||
|
||||
context "The source for an DeviantArt artwork page" do
|
||||
setup do
|
||||
@site = Sources::Strategies.find("http://noizave.deviantart.com/art/test-post-please-ignore-685436408")
|
||||
|
||||
Reference in New Issue
Block a user