From e8336afd81694f380163ecbb9158343c786b53f3 Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Mon, 24 Oct 2016 11:50:22 -0700 Subject: [PATCH] fixes #2718: Twitter artist finding should not be case sensitive --- app/logical/sources/strategies/twitter.rb | 8 ++++++++ app/models/artist_url.rb | 2 -- test/unit/artist_url_test.rb | 6 ++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/logical/sources/strategies/twitter.rb b/app/logical/sources/strategies/twitter.rb index c73a0c8e4..0767c0c5b 100644 --- a/app/logical/sources/strategies/twitter.rb +++ b/app/logical/sources/strategies/twitter.rb @@ -38,6 +38,14 @@ module Sources::Strategies TwitterService.new.image_urls(url) end + def normalize_for_artist_finder! + url.downcase + end + + def normalizable_for_artist_finder? + true + end + def status_id_from_url(url) if url =~ %r{^https?://(?:mobile\.)?twitter\.com/\w+/status/(\d+)} $1.to_i diff --git a/app/models/artist_url.rb b/app/models/artist_url.rb index c19ecc536..721da7bcc 100644 --- a/app/models/artist_url.rb +++ b/app/models/artist_url.rb @@ -9,7 +9,6 @@ class ArtistUrl < ActiveRecord::Base if url.nil? nil else - url = url.downcase url = url.gsub(/^https:\/\//, "http://") url = url.gsub(/^http:\/\/blog\d+\.fc2/, "http://blog.fc2") url = url.gsub(/^http:\/\/blog-imgs-\d+\.fc2/, "http://blog.fc2") @@ -45,7 +44,6 @@ class ArtistUrl < ActiveRecord::Base url = File.dirname(url) end - url = url.downcase url = url.gsub(/^https:\/\//, "http://") url = url.gsub(/^http:\/\/blog\d+\.fc2/, "http://blog*.fc2") url = url.gsub(/^http:\/\/blog-imgs-\d+\.fc2/, "http://blog*.fc2") diff --git a/test/unit/artist_url_test.rb b/test/unit/artist_url_test.rb index 1f753855e..8fe379be6 100644 --- a/test/unit/artist_url_test.rb +++ b/test/unit/artist_url_test.rb @@ -54,5 +54,11 @@ class ArtistUrlTest < ActiveSupport::TestCase assert_equal("http://img55.pixiv.net/img/monet", url.url) assert_equal("http://img.pixiv.net/img/monet/", url.normalized_url) end + + should "normalize twitter urls" do + url = FactoryGirl.create(:artist_url, :url => "https://twitter.com/MONET/status/12345") + assert_equal("https://twitter.com/MONET/status/12345", url.url) + assert_equal("http://twitter.com/monet/status/12345/", url.normalized_url) + end end end