    # File lib/facets/more/uploadutils.rb, line 182
      def upload_parameters( keys )
        keys = OpenObject.new(keys)

        keys.copy = keys.copy || '**/*'
        keys.host = keys.host || keys.domain
        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 -- root" unless keys.root

        keys.root = '' if keys.root.nil?
        keys.root.sub!(/^\//,'')

        if String===keys.copy and File.directory?(keys.copy)
          copy = File.join(keys.copy, '*')
        end
        keys.copy = [keys.copy].flatten.compact

    #     trans = []
    #     keys.copy.each do |from|
    #       #from, to = *Shellwords.shellwords(c)
    #       #to = from if to.nil?
    #       #to = to[1..-1] if to[0,1] == '/'
    #       from.sub('*','**/*') unless from =~ /\*\*/
    #       files = Dir.glob(from)
    #       files.each do |f|
    #         #t = File.join(to,File.basename(f))
    #         #t = t[1..-1] if t[0,1] == '/'
    #         trans << [f,f]
    #       end
    #     end
    #     keys.trans = trans

        return keys
      end