From b12e8b50585621c371a72e70bf82365344f3e4cc Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 31 Dec 2018 11:45:50 -0600 Subject: [PATCH] Fix #4030: Artstation artist_name broken for direct image urls. --- app/logical/sources/strategies/art_station.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/app/logical/sources/strategies/art_station.rb b/app/logical/sources/strategies/art_station.rb index a261ed8cf..64f04e004 100644 --- a/app/logical/sources/strategies/art_station.rb +++ b/app/logical/sources/strategies/art_station.rb @@ -20,9 +20,9 @@ module Sources::Strategies PROJECT1 = %r!\Ahttps?://www\.artstation\.com/artwork/(?[a-z0-9-]+)/?\z!i PROJECT2 = %r!\Ahttps?://(?[a-z0-9-]+)\.artstation\.com/projects/(?[a-z0-9-]+)/?\z!i PROJECT = Regexp.union(PROJECT1, PROJECT2) - ARTIST1 = %r!\Ahttps?://(?[a-z0-9-]+)\.artstation\.com! - ARTIST2 = %r!\Ahttps?://www\.artstation\.com/artist/(?[a-z0-9-]+)! - ARTIST3 = %r!\Ahttps?://www\.artstation\.com/(?[a-z0-9-]+)! + ARTIST1 = %r{\Ahttps?://(?[a-z0-9-]+)(?[a-z0-9-]+)/?\z}i + ARTIST3 = %r{\Ahttps?://www\.artstation\.com/(?[a-z0-9-]+)/?\z}i ARTIST = Regexp.union(ARTIST1, ARTIST2, ARTIST3) ASSET = %r!\Ahttps?://cdn\w*\.artstation\.com/p/assets/images/images/\d+/\d+/\d+/(?:medium|small|large)/!i @@ -100,8 +100,7 @@ module Sources::Strategies # purposes def artist_name_from_url - urls.map { |url| url[PROJECT, :artist_name] }.compact.first || - (urls.map { |url| url[ARTIST, :artist_name] }.compact - ["www"]).first + urls.map { |url| url[PROJECT, :artist_name] || url[ARTIST, :artist_name] }.compact.first end def project_id