diff --git a/ruby/lib/jam_ruby/jam_track_importer.rb b/ruby/lib/jam_ruby/jam_track_importer.rb index cdaf65d46..86f136cff 100644 --- a/ruby/lib/jam_ruby/jam_track_importer.rb +++ b/ruby/lib/jam_ruby/jam_track_importer.rb @@ -2975,6 +2975,61 @@ module JamRuby end + def fix_artist_song_name (licensor) + + load_paris_mappings if @paris_mapping.nil? + + JamTrack.where(licensor_id: licensor.id).each do |jam_track| + + metadata = @paris_metadata[jam_track.vendor_id] + + if metadata.nil? + puts "OH NO! A Paris Song that does not belong! #{jam_track.id} #{jam_track.vendor_id}" + next + end + + puts "STARTING JAM_TRACK #{jam_track.id} #{jam_track.original_artist} #{jam_track.name}" + + jam_track.generate_slug + + if jam_track.changed? + puts "SLUG CHANGED! #{jam_track.changes.inspect}" + end + + if !jam_track.save + puts "dup slug!!!!: #{jam_track.id} #{jam_track.name} #{jam_track.original_artist}" + end + + if jam_track.changed? + jam_track.reload + end + + jam_track.original_artist = metadata[:original_artist] + jam_track.name = metadata[:name] + if jam_track.changed? + puts "ARTIST/NAME CHANGE: #{jam_track.changes.inspect}" + end + + if !jam_track.save + puts "unable to save new artist/song!" + end + end + end + + def fix_slugs(licensor) + + JamTrack.where(licensor_id: licensor.id).each do |jam_track| + + if jam_track.slug.end_with?('-') + puts "removing trailing dash" + jam_track.slug = jam_track.slug[0...-1] + if !jam_track.save + puts "dup slug!!!!: #{jam_track.id} #{jam_track.name} #{jam_track.original_artist}" + end + end + end + end + def missing_masters(licensor) count = 0 diff --git a/ruby/lib/jam_ruby/models/jam_track.rb b/ruby/lib/jam_ruby/models/jam_track.rb index e2e4f3e37..eca9cd7ea 100644 --- a/ruby/lib/jam_ruby/models/jam_track.rb +++ b/ruby/lib/jam_ruby/models/jam_track.rb @@ -502,7 +502,7 @@ module JamRuby def generate_slug self.slug = sluggarize(original_artist) + '-' + sluggarize(name) - if licensor && licensor.slug + if licensor && licensor.slug.present? #raise "no slug on licensor #{licensor.id}" if licensor.slug.nil? self.slug << "-" + licensor.slug end diff --git a/web/lib/tasks/jam_tracks.rake b/web/lib/tasks/jam_tracks.rake index d1ac8be6c..47950de55 100644 --- a/web/lib/tasks/jam_tracks.rake +++ b/web/lib/tasks/jam_tracks.rake @@ -90,11 +90,21 @@ namespace :jam_tracks do end task resync_instruments: :environment do |task, args| - JamTrackImporter.storage_format = 'Paris' JamTrackImporter.resync_instruments(JamTrackLicensor.find_by_name!('Paris Music')) end + + task fix_slugs: :environment do |task, args| + JamTrackImporter.storage_format = 'Paris' + JamTrackImporter.fix_slugs(JamTrackLicensor.find_by_name!('Paris Music')) + end + + task fix_paris_artists: :environment do |task, args| + JamTrackImporter.storage_format = 'Paris' + JamTrackImporter.fix_artist_song_name(JamTrackLicensor.find_by_name!('Paris Music')) + end + task dump_missing_masters: :environment do |task, args| JamTrackImporter.storage_format = 'Paris' JamTrackImporter.missing_masters(JamTrackLicensor.find_by_name!('Paris Music'))