artist: normalize more artist url formats.
This commit is contained in:
@@ -65,10 +65,8 @@ class Artist < ApplicationRecord
|
|||||||
class_methods do
|
class_methods do
|
||||||
# Find all artist URLs matching `regex`, and replace the `from` regex with the `to` string.
|
# Find all artist URLs matching `regex`, and replace the `from` regex with the `to` string.
|
||||||
def rewrite_urls(regex, from, to)
|
def rewrite_urls(regex, from, to)
|
||||||
Artist.transaction do
|
Artist.joins(:urls).where_regex("artist_urls.url", regex).find_each do |artist|
|
||||||
Artist.joins(:urls).where_regex("artist_urls.url", regex).find_each do |artist|
|
artist.update!(url_string: artist.url_string.gsub(from, to))
|
||||||
artist.update!(url_string: artist.url_string.gsub(from, to))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
22
script/fixes/106_normalize_artist_urls.rb
Executable file
22
script/fixes/106_normalize_artist_urls.rb
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
require_relative "base"
|
||||||
|
|
||||||
|
CurrentUser.scoped(User.system, "127.0.0.1") do
|
||||||
|
Artist.rewrite_urls('^http://www\.artstation\.com', %r{^http://www\.artstation\.com}, 'https://www.artstation.com')
|
||||||
|
Artist.rewrite_urls('^http://www\.artstation\.com', %r{^-http://www\.artstation\.com}, '-https://www.artstation.com')
|
||||||
|
Artist.rewrite_urls('^https://www\.artstation\.com/artist', %r{https://www\.artstation\.com/artist/([a-zA-Z0-9_.-]+)/?$}, 'https://www.artstation.com/\1')
|
||||||
|
Artist.rewrite_urls('^https?://[^.]+\.artstation\.com/?$', %r{https?://([a-zA-Z0-9_.-]+)\.artstation\.com/?$}, 'https://www.artstation.com/\1')
|
||||||
|
|
||||||
|
Artist.rewrite_urls('^https?://[^.]+\.deviantart\.com/?$', %r{https?://([a-zA-Z0-9_.-]+)\.deviantart\.com/?$}, 'https://www.deviantart.com/\1')
|
||||||
|
|
||||||
|
Artist.rewrite_urls('^https?://[^.]+\.fanbox\.cc/?$', %r{https?://([^.]+)\.fanbox\.cc/?$}, 'https://\1.fanbox.cc')
|
||||||
|
|
||||||
|
Artist.rewrite_urls('^http://fantia\.jp', %r{^http://fantia\.jp}, 'https://fantia.jp')
|
||||||
|
Artist.rewrite_urls('^http://fantia\.jp', %r{^-http://fantia\.jp}, '-https://fantia.jp')
|
||||||
|
|
||||||
|
Artist.rewrite_urls('^https?://[^.]+\.lofter\.com/?$', %r{https?://([^.]+)\.lofter\.com/?$}, 'https://\1.lofter.com')
|
||||||
|
|
||||||
|
Artist.rewrite_urls('^http://pawoo\.net', %r{^http://pawoo\.net}, 'https://pawoo.net')
|
||||||
|
Artist.rewrite_urls('^http://pawoo\.net', %r{^-http://pawoo\.net}, '-https://pawoo.net')
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user