* VRFS-3235 - download helper

This commit is contained in:
Seth Call 2015-05-11 11:15:57 -05:00
parent 8c04a601ab
commit f2aba1e390
4 changed files with 54 additions and 3 deletions

View File

@ -15,6 +15,7 @@ ActiveAdmin.register JamRuby::Mix, :as => 'Mixes' do
end
end
index :as => :block do |mix|
div :for => mix do
h3 "Mix (Users: #{mix.recording.users.map { |u| u.name }.join ','}) (When: #{mix.created_at.strftime('%b %d %Y, %H:%M')})"
@ -26,6 +27,16 @@ ActiveAdmin.register JamRuby::Mix, :as => 'Mixes' do
row :created_at do |mix| mix.created_at.strftime('%b %d %Y, %H:%M') end
row :s3_url do |mix| mix.sign_url end
row :manifest do |mix| mix.manifest end
row :local_manifest do |mix|
div class: 'local-manifest' do
mix.local_manifest.to_json
end
end
row :download_script do |mix|
div class: 'download-script' do
mix.download_script
end
end
row :completed do |mix| "#{mix.completed ? "finished" : "not finished"}" end
if mix.completed
row :completed_at do |mix| mix.completed_at.strftime('%b %d %Y, %H:%M') end
@ -39,6 +50,7 @@ ActiveAdmin.register JamRuby::Mix, :as => 'Mixes' do
end
end
end
end
end
end

View File

@ -22,4 +22,11 @@
}
}
}
}
.download-script, .local-manifest {
white-space:pre-wrap;
background-color:white;
border:1px solid gray;
padding:5px;
}

View File

@ -256,14 +256,47 @@ module JamRuby
manifest
end
def local_manifest
remote_manifest = self.manifest
remote_manifest["files"].each do |file|
filename = file["filename"]
basename = File.basename(filename)
basename = basename[0..(basename.index('?') - 1)]
file["filename"] = basename
end
# update manifest so that audiomixer writes here
remote_manifest["output"]["filename"] = 'out.ogg'
# update manifest so that audiomixer writes here
remote_manifest["error_out"] = 'error.out'
remote_manifest["mix_id"] = self.id
remote_manifest
end
def download_script
out = ''
remote_manifest = manifest
remote_manifest["files"].each do |file|
filename = file["filename"]
basename = File.basename(filename)
basename = basename[0..(basename.index('?') - 1)]
out << "curl -o \"#{basename}\" \"#{filename}\"\r\n\r\n"
end
out << "\r\n\r\n"
out
end
def s3_url(type='ogg')
if type == 'ogg'
s3_manager.s3_url(self[:ogg_url])
else
s3_manager.s3_url(self[:mp3_url])
end
end
def is_completed

View File

@ -62,7 +62,6 @@ module JamRuby
end
def fetch_audio_files
@manifest[:files].each do |file|
filename = file[:filename]