jam-cloud/web/lib/tasks/jam_tracks.rake

209 lines
6.0 KiB
Ruby

namespace :jam_tracks do
task generate_jmep: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.generate_jmeps
end
task dry_run: :environment do |task, args|
JamTrackImporter.dry_run
end
task tency_dry_run: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.dry_run
end
task tency_create_masters: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.create_masters
end
task tency_licensor_yaml: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.add_tency_metadata
end
task tency_create_master: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
path = ENV['TRACK_PATH']
if !path
puts "TRACK_PATH must be set to something like audio/AC DC/Back in Black or mapped/50 Cent - In Da Club - 12401"
exit(1)
end
JamTrackImporter.create_master(path)
end
task tency_delta: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.tency_delta
end
task sync: :environment do |task, args|
path = ENV['TRACK_PATH']
if !path
puts "TRACK_PATH must be set to something like audio/AC DC/Back in Black or mapped/50 Cent - In Da Club - 12401"
exit(1)
end
if path.start_with?('mapped')
JamTrackImporter.storage_format = 'Tency'
end
JamTrackImporter.synchronize_from_meta("#{path}/meta.yml", skip_audio_upload:false)
end
task resync_audio: :environment do |task, args|
path = ENV['TRACK_PATH']
if !path
puts "TRACK_PATH must be set to something like AD DC/Back in Black"
exit(1)
end
JamTrackImporter.synchronize_from_meta("audio/#{path}/meta.yml", resync_audio:true, skip_audio_upload:false)
end
task tency_genre_dump: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.genre_dump
end
task sync_tency: :environment do |task, args|
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.synchronize_all(skip_audio_upload:false)
end
task tency_dups: :environment do |task, args|
end
task onboarding_exceptions: :environment do |task, args|
JamTrackImporter.onboarding_exceptions
end
task generate_slugs: :environment do |task, arg|
JamTrackImporter.generate_slugs
end
task generate_mp3_aac_stems: :environment do |task, arg|
JamTrackImporter.storage_format = 'default'
JamTrackImporter.generate_mp3_aac_stems(JamTrackImporter.storage_format)
JamTrackImporter.storage_format = 'Tency'
JamTrackImporter.generate_mp3_aac_stems(JamTrackImporter.storage_format)
end
task sync_all: :environment do |task, args|
JamTrackImporter.synchronize_all(skip_audio_upload:false)
end
task sync_all_dev: :environment do |task, args|
JamTrackImporter.storage_format = 'default'
JamTrackImporter.synchronize_all(skip_audio_upload:true)
end
task sync_previews_all: :environment do |task, arg|
JamTrackImporter.synchronize_previews
end
task sync_master_preview_all: :environment do |task, args|
importer = JamTrackImporter.synchronize_jamtrack_master_previews
end
task sync_master_aac: :environment do |task, args|
JamTrackImporter.synchronize_jamtrack_aac_previews
end
# popuplate preview info without uploading/processing audio files (use what's in S3)
task sync_previews_dev: :environment do |task, args|
JamTrackImporter.synchronize_previews_dev
end
# syncs just one master track for a give JamTrack
task sync_master_preview: :environment do |task, args|
plan_code = ENV['PLAN_CODE']
if !plan_code
puts "PLAN_CODE must be set to something like jamtrack-acdc-backinblack"
exit(1)
end
jam_track = JamTrack.find_by_plan_code!(plan_code)
importer = JamTrackImporter.synchronize_jamtrack_master_preview(jam_track)
if importer.reason.nil? || importer.reason == "success" || importer.reason == "jam_track_exists"
puts("#{importer.name} #{importer.reason}")
else
puts("#{importer.name} failed to import.")
puts("#{importer.name} reason=#{importer.reason}")
puts("#{importer.name} detail=#{importer.detail}")
end
end
task sync_duration_all: :environment do |task, args|
importer = JamTrackImporter.synchronize_durations
end
# syncs just one master track for a give JamTrack
task sync_duration: :environment do |task, args|
plan_code = ENV['PLAN_CODE']
if !plan_code
puts "PLAN_CODE must be set to something like jamtrack-acdc-backinblack"
exit(1)
end
jam_track = JamTrack.find_by_plan_code!(plan_code)
importer = JamTrackImporter.synchronize_duration(jam_track)
if importer.reason.nil? || importer.reason == "success" || importer.reason == "jam_track_exists"
puts("#{importer.name} #{importer.reason}")
else
puts("#{importer.name} failed to import.")
puts("#{importer.name} reason=#{importer.reason}")
puts("#{importer.name} detail=#{importer.detail}")
end
end
task download_masters: :environment do |task, arg|
JamTrackImporter.download_masters
end
task tency: :environment do |task, arg|
mapper = TencyStemMapping.new
mapper.correlate
end
task generate_private_key: :environment do |task, arg|
JamTrackRight.all.each do |right|
if right.private_key_44.nil? || right.private_key_48.nil?
if right.private_key_44.nil? && right.private_key_48
right.private_key_44 = right.private_key_48
puts "COPY 48 > 44"
elsif right.private_key_48.nil? && right.private_key_44
right.private_key_48 = right.private_key_44
puts "COPY 44 > 48"
elsif right.private_key_48.nil? && right.private_key_44.nil?
rsa_key = OpenSSL::PKey::RSA.new(1024)
key = rsa_key.to_pem()
right.private_key_44 = key
right.private_key_48 = key
puts "GEN 44 + 48"
end
right.save
else
puts "OK 44 + 48"
end
end
end
end