25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/libis/format/tool/email_to_pdf.rb', line 25
def run(source, target, _ = {})
timeout = Libis::Format::Config[:timeouts][:email2pdf] || 120
result = Libis::Tools::Command.run(
Libis::Format::Config[:java_cmd],
"-Duser.timezone=Europe/Brussels", "-Duser.language=nl", "-Duser.country=BE",
"-jar", Libis::Format::Config[:email2pdf_jar],
"-e", "-hd", "-a",
"-o", target,
source,
timeout: timeout,
kill_after: timeout * 2
)
warn "EmailToPdf conversion messages: \n\t#{result[:err].join("\n\t")}" unless result[:err].empty?
raise "#{self.class} took too long (> #{timeout} seconds) to complete" if result[:timeout]
raise "#{self.class} failed to generate target file #{target}" unless File.exist?(target)
raise "#{self.class} command failed with status code #{result[:status]}" unless result[:status] == 0
base_path = File.join(File.dirname(target), File.basename(target, ".*"))
= "#{base_path}.headers.xml"
= ()
{
command: result,
files: [target, ] + [:attachments].map { |a| File.join("#{base_path}-attachments", a) },
headers:
}
end
|