lib/facets/more/uploadutils.rb in facets-1.8.8 vs lib/facets/more/uploadutils.rb in facets-1.8.20
- old
+ new
@@ -1,19 +1,18 @@
# = uploadutils.rb
+#
+# CREDIT Thomas Sawyer
#
# TODO Incorporate password into scp and ftp ?
-#
# TODO rsync needs --delete option
-#++
require 'openssl'
require 'shellwords'
require 'tmpdir'
-#require 'net/smtp'
-# <b>UPLOAD FILES TO A HOST</b>
-#
+require 'facets/more/openobject'
+
# Upload files to host. These means of uploading are current
# supported: ftp, sftp, scp and rsync.
#
# user Username for host.
# host Host server's domain name.
@@ -59,11 +58,11 @@
#
# Use ftp to upload files.
#
def ftp( keys )
- keys = keys.to_openhash
+ keys = upload_parameters(keys)
# set transfer rules
if keys.stage
trans = stage_transfer(keys.stage)
else
@@ -97,11 +96,11 @@
#
# Use sftp to upload files.
#
def sftp( keys )
- keys = keys.to_openobject
+ keys = upload_parameters(keys)
# set transfer rules
if keys.stage
trans = stage_transfer(keys.stage)
else
@@ -135,21 +134,21 @@
#
# Use rsync to upload files.
#
def rsync( keys )
- keys = keys.to_openobject
+ keys = upload_parameters(keys)
flags = []
flags << "-n" if keys.dryrun
flags << "-q" if keys.quiet
flags << "-v" if keys.verbose
flags << "--progress" unless keys.quiet
flags = flags.join(' ').strip
flags = ' ' + flags unless flags.empty?
- manfile = '.publish.mainfest'
+ manfile = 'Publish.txt'
if keys.stage
dir = stage_linkdir(keys.dir, keys.stage)
Dir.chdir(dir) do
cpy = files(keys.copy)
@@ -188,18 +187,17 @@
keys.user = keys.user || keys.username
keys.root = keys.root || '/'
#keys.pass = keys.pass || keys.password
# validate
+ raise ArgumentError, "missing publish parameter -- dir" unless keys.dir
raise ArgumentError, "missing publish parameter -- host" unless keys.host
raise ArgumentError, "missing publish parameter -- user" unless keys.user
- raise ArgumentError, "missing publish parameter -- copy" unless keys.copy
+ #raise ArgumentError, "missing publish parameter -- copy" unless keys.copy
#raise ArgumentError, "missing publish parameter -- root" unless keys.root
- #keys.root = '' if keys.root.nil?
- #keys.root = keys.root[1..-1] if keys.root[0,1] == '/'
- keys.root = '' if opts.root.nil?
+ keys.root = '' if keys.root.nil?
keys.root.sub!(/^\//,'')
if String===keys.copy and File.directory?(keys.copy)
copy = File.join(keys.copy, '*')
end
@@ -231,14 +229,14 @@
# remove - and + prefixes
del.collect!{ |f| f.sub(/^[-]/,'') }
add.collect!{ |f| f.sub(/^[+]/,'') }
- del.concat(must_exclude)
+ #del.concat(must_exclude)
files = []
- add.each{ |g| files += Dir.multiglob_recurse(g) }
- del.each{ |g| files -= Dir.multiglob_recurse(g) }
+ add.each{ |g| files += Dir.multiglob(g) }
+ del.each{ |g| files -= Dir.multiglob(g) }
files.collect!{ |f| f.sub(/^\//,'') }
return files
end