parent
5ce9bcdb2c
commit
4bef2eee24
@ -0,0 +1,47 @@
|
||||
# encoding: utf-8
|
||||
module FilesHelper
|
||||
|
||||
def downloadAll containers
|
||||
paths = []
|
||||
files = []
|
||||
tmpfile = "tmp.zip"
|
||||
|
||||
containers.each do |container|
|
||||
next if container.attachments.empty?
|
||||
if container.is_a?(Version);end
|
||||
container.attachments.each do |attachment|
|
||||
paths << attachment.diskfile
|
||||
file = attachment.diskfile
|
||||
# logger.error "[FilesHelper] downloadAll: #{e}"
|
||||
begin
|
||||
File.new(file, "r")
|
||||
rescue Exception => e
|
||||
logger.error e
|
||||
next
|
||||
end
|
||||
files << file
|
||||
# zip.add(file.path.dup.sub(directory, ''), file.path)
|
||||
end
|
||||
end
|
||||
|
||||
zipfile_name = "archive.zip"
|
||||
if File.exists? File.open(zipfile_name, "w+")
|
||||
ff = File.open(zipfile_name, "w+")
|
||||
ff.close
|
||||
File.delete ff
|
||||
end
|
||||
Zip::ZipFile.open(zipfile_name, Zip::ZipFile::CREATE) do |zipfile|
|
||||
files.each do |filename|
|
||||
directory = File.dirname filename
|
||||
# Two arguments:
|
||||
# - The name of the file as it will appear in the archive
|
||||
# - The original file, including the path to find it
|
||||
dir = filename.sub(directory+"/", '')
|
||||
zipfile.add(dir, filename)
|
||||
|
||||
end
|
||||
end
|
||||
File.new(zipfile_name,'w+')
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in new issue