Merge remote-tracking branch 'upstream/pull/2599'

This commit is contained in:
Tom Hughes 2020-04-22 14:42:27 +01:00
commit 62d35fb972
2 changed files with 8 additions and 17 deletions

View file

@ -215,25 +215,23 @@ class Trace < ApplicationRecord
tarred = filetype =~ /tar archive/
if gzipped || bzipped || zipped || tarred
tmpfile = Tempfile.new("trace.#{id}")
file = Tempfile.new("trace.#{id}")
if tarred && gzipped
system("tar -zxOf #{trace_name} > #{tmpfile.path}")
system("tar -zxOf #{trace_name} > #{file.path}")
elsif tarred && bzipped
system("tar -jxOf #{trace_name} > #{tmpfile.path}")
system("tar -jxOf #{trace_name} > #{file.path}")
elsif tarred
system("tar -xOf #{trace_name} > #{tmpfile.path}")
system("tar -xOf #{trace_name} > #{file.path}")
elsif gzipped
system("gunzip -c #{trace_name} > #{tmpfile.path}")
system("gunzip -c #{trace_name} > #{file.path}")
elsif bzipped
system("bunzip2 -c #{trace_name} > #{tmpfile.path}")
system("bunzip2 -c #{trace_name} > #{file.path}")
elsif zipped
system("unzip -p #{trace_name} -x '__MACOSX/*' > #{tmpfile.path} 2> /dev/null")
system("unzip -p #{trace_name} -x '__MACOSX/*' > #{file.path} 2> /dev/null")
end
tmpfile.unlink
file = tmpfile.file
file.unlink
else
file = File.open(trace_name)
end

View file

@ -1,7 +0,0 @@
# Hack TempFile to let us get at the underlying File object as ruby
# does a half assed job of making TempFile act as a File
class Tempfile
def file
@tmpfile
end
end