def sftp( 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 "sftp open #{keys.user}@#{keys.host}:#{keys.root}/"
keys.trans.each do |f,t|
puts "sftp put #{f} #{t}"
end
else
require 'net/sftp'
Net::SFTP.start(keys.host, keys.user, keys.pass) do |sftp|
sftp.chdir(keys.root)
keys.trans.each do |f,t|
puts "sftp #{f} #{t}" unless keys.quiet
sftp.put_file(f,t)
end
end
end
end