def ftp( keys )
keys = upload_parameters(keys)
if keys.stage
trans = stage_transfer(keys.stage)
else
files(keys.dir, keys.copy).each do |from|
trans << [from,from]
end
end
dir = keys.dir
trans.collect!{ |from,to| [File.join(dir,from), to] }
if keys.dryrun
puts "ftp open #{keys.user}@#{keys.host}:#{keys.root}/"
keys.trans.each do |f, t|
puts "ftp put #{f} #{t}"
end
else
require 'net/ftp'
Net::FTP.open(keys.host) do |ftp|
ftp.login(keys.user)
ftp.chdir(keys.root)
keys.trans.each do |f, t|
puts "ftp #{f} #{t}" unless keys.quiet
ftp.putbinaryfile( f, t, 1024 )
end
end
end
end