Advertisement
Guest User

Ruby-PDF generation

a guest
Aug 17th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.30 KB | None | 0 0
  1.     def generate(forms)
  2.  
  3.         #clean_batch
  4.         form_count = 0
  5.         forms.each do |form|
  6.  
  7.             params_list = Array.new
  8.  
  9.             form.submission_answers.each do |sub_ans|
  10.                 params_list.append(Shellwords.escape(sub_ans.response))
  11.             end
  12.             params_list.append("temp_pdf_#{form_count}")
  13.             params_string = params_list.join(" ")
  14.             if form.doc_type == 'ATC'
  15.                 fork do
  16.                     exec("python3 ./app/pdf-generators/generate_atc.py #{params_string}")
  17.                 end
  18.             elsif form.doc_type == 'CRF'
  19.                 fork do
  20.                     exec("python3 ./app/pdf-generators/generate_crf.py #{params_string}")
  21.                 end
  22.             else # CCP
  23.                 fork do
  24.                     exec("python3 ./app/pdf-generators/generate_ccp.py #{params_string}")
  25.                 end
  26.             end
  27.             form_count += 1
  28.         end
  29.         form_count.times do |i|
  30.             puts "Waiting for temp_pdf_#{i} to finish generating..."
  31.             while !File.file?("./db/generated_forms/temp_pdf_#{i}.pdf") do
  32.             end
  33.             puts "temp_pdf_#{i} now exists in the filesystem. Awesome"
  34.         end
  35.  
  36.         fork do
  37.             exec("python3 ./app/pdf-generators/pdf_merger.py")
  38.         end
  39.        
  40.         puts "Waiting for the batch file to finish generating..."
  41.         while !File.file?("./db/generated_forms/batch.pdf") do
  42.         end
  43.         puts "Batch file generated"
  44.         form_count.times do |i|
  45.             fork do
  46.                 exec("rm ./db/generated_forms/temp_pdf_#{i}.pdf")
  47.             end
  48.         end
  49.         return form_count
  50.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement