Slide 3
Slide 3 text
def show
sound = Sound.find(params[:id])
@xml_path = File.dirname(sound.file.path)
s3 = AWS::S3.new(:access_key_id => 'XXX', :secret_access_key => 'XXX')
@url = s3.buckets['dev'].objects[sound.file.path[1..-1]].url_for(:read, :expires => 10*60)
if sound.id_job != 0 && sound.transcript_progress != 100
@response = Savon.client("http://srap.php?wsdl").request(:avance) do
soap.body = {:Jeton => "abcdef", :ID_job => sound.id_job,}
end
@response = @response.to_hash
@progress = @response[:avance][:avancement].to_s.split("#")[1]keep "123"
if @progress == "Termine"
sound.transcript_progress = 100
elsif @progress == "ERROR"
flash.now[:alert] = "Oups, il semblerait que le fichier soit illisible, ou qu'il n'y ait rien a ecouter !"
elsif @progress != "Queued"
sound.transcript_progress = @response[:avance_response][:avancement].to_s.split("#")[2].split("%")
[0].to_i
end
sound.save
end
if sound.transcript_progress == 100 # If transcription finished
# Get XML File URL on the FTP
@xml_path = Savon.client("http://srap.php?wsdl").request(:donneResultat) do
soap.body = {:Jeton => "XXX", :FichierSon => sound.id_job}
end
# Parse XML Path URL on Kimsufi
@xml_path = @xml_path.to_hash[:donne_resultat_transposition_response][:chemin_fichier].to_s.split("#")
[2].to_s.split("/")[5]
# Create local directory (/tmp/sounds) for XML Temp Save
if ! File.directory?(Rails.root.to_s + '/tmp/sounds')
Dir.mkdir(Rails.root.to_s + '/tmp/sounds')
end
# Get XML from FTP
ftp=Net::FTP.new
ftp.connect("ftp.com", 21)
ftp.login("XXX", "XXX")
if ftp.closed?
flash.now[:alert] = "Oups, il semblerait qu'il y ait eu un problème ! Merci d'actualiser la page"
else
ftp.passive = true
ftp.chdir('results')
ftp.getbinaryfile(@xml_path, Rails.root.to_s + '/tmp/sounds/' + @xml_path)
ftp.close
end
Self Reflection
3
Poor Soul On Stack Overflow - http://bit.ly/NoLo5A
What went wrong?
- Using SOAP - No.
-