thumbnail_dest_img = base_dest_img + "-#{$default_size['thumbnails']}.jpg"
gen_thumbnails_element("#{dir}/#{img}", xmldir, true, [ { 'filename' => thumbnail_dest_img, 'size' => $default_size['thumbnails'] } ])
else
+ todo = []
for sizeobj in $images_size
size_fullscreen = sizeobj['fullscreen']
size_thumbnails = sizeobj['thumbnails']
thumbnail_dest_img = base_dest_img + "-#{size_thumbnails}.jpg"
fullscreen_images[sizeobj['name']] << File.basename(fullscreen_dest_img)
thumbnail_images[sizeobj['name']] << File.basename(thumbnail_dest_img)
- gen_thumbnails_element("#{dir}/#{img}", xmldir, true, [ { 'filename' => fullscreen_dest_img, 'size' => size_fullscreen },
- { 'filename' => thumbnail_dest_img, 'size' => size_thumbnails } ])
+ todo << { 'filename' => fullscreen_dest_img, 'size' => size_fullscreen }
+ todo << { 'filename' => thumbnail_dest_img, 'size' => size_thumbnails }
end
+ gen_thumbnails_element("#{dir}/#{img}", xmldir, true, todo)
if $limit_sizes =~ /original/
fullscreen_images['original'] << img
end
system(cmd)
end
+ def waitjob
+ finished = Process.wait2
+ $pids.delete(finished[0])
+ $pids = $pids.find_all { |pid| Process.waitpid(pid, Process::WNOHANG) == nil }
+ end
+
+ def waitjobs
+ while $pids.length > 0
+ waitjob
+ end
+ end
+
#- parallelizable sys
def psys(cmd)
if $mproc
exit 0
end
if $pids.length == $mproc
- finished = Process.wait2
- $pids.delete(finished[0])
- $pids = $pids.find_all { |pid| Process.waitpid(pid, Process::WNOHANG) == nil }
+ waitjob
end
else
sys(cmd)
sys(cmd)
if File.exists?(neworig)
orig = neworig
- allow_background = false
end
end
rotate = felem.attributes["#{attributes_prefix}rotate"]
end
end
if neworig
+ if allow_background
+ waitjobs
+ end
system("rm -f '#{neworig}'")
end
return true