diff --git a/ruby/lib/jam_ruby/jam_track_importer.rb b/ruby/lib/jam_ruby/jam_track_importer.rb index 887ebb1e0..0fde164b4 100644 --- a/ruby/lib/jam_ruby/jam_track_importer.rb +++ b/ruby/lib/jam_ruby/jam_track_importer.rb @@ -748,6 +748,45 @@ module JamRuby end end + def download_master(jam_track) + importer = JamTrackImporter.new + importer.name = jam_track.name + + Dir.mkdir('tmp') unless Dir.exists?('tmp') + Dir.mkdir('tmp/jam_track_masters') unless Dir.exists?('tmp/jam_track_masters') + + master_track = jam_track.master_track + if master_track + ogg_44100 = File.join('tmp/jam_track_masters', "#{jam_track.original_artist} - #{jam_track.name}.ogg") + private_s3_manager.download(master_track.url_by_sample_rate(44), ogg_44100) + end + end + + def download_masters + importers = [] + + JamTrack.all.each do |jam_track| + importers << download_master(jam_track) + end + + @@log.info("SUMMARY") + @@log.info("-------") + importers.each do |importer| + if importer + if importer.reason == "success" + @@log.info("#{importer.name} #{importer.reason}") + else + @@log.error("#{importer.name} failed to download.") + @@log.error("#{importer.name} reason=#{importer.reason}") + @@log.error("#{importer.name} detail=#{importer.detail}") + end + else + @@log.error("NULL IMPORTER") + end + + end + end + def synchronize_all(options) importers = [] diff --git a/web/lib/tasks/jam_tracks.rake b/web/lib/tasks/jam_tracks.rake index a59549236..dfdb0c9d8 100644 --- a/web/lib/tasks/jam_tracks.rake +++ b/web/lib/tasks/jam_tracks.rake @@ -76,4 +76,8 @@ namespace :jam_tracks do puts("#{importer.name} detail=#{importer.detail}") end end + + task download_masters: :environment do |task, arg| + JamTrackImporter.download_masters + end end