diff --git a/script/fixes/105_normalize_pixiv_artist_urls.rb b/script/fixes/105_normalize_pixiv_artist_urls.rb new file mode 100755 index 000000000..6dab9f590 --- /dev/null +++ b/script/fixes/105_normalize_pixiv_artist_urls.rb @@ -0,0 +1,15 @@ +#!/usr/bin/env ruby + +require_relative "base" + +CurrentUser.scoped(User.system, "127.0.0.1") do + Artist.joins(:urls).where_regex("artist_urls.url", '^https?://www.pixiv.net/member\.php\?id=[0-9]+$').find_each do |artist| + artist.update!(url_string: artist.url_string.gsub(%r{https?://www\.pixiv\.net/member\.php\?id=([0-9]+)$}, 'https://www.pixiv.net/users/\1')) + puts artist.id + end + + Artist.joins(:urls).where_regex("artist_urls.url", '^https?://www.pixiv.net/en/users/[0-9]+$').find_each do |artist| + artist.update!(url_string: artist.url_string.gsub(%r{https?://www\.pixiv\.net/en/users/([0-9]+)$}, 'https://www.pixiv.net/users/\1')) + puts artist.id + end +end