diff --git a/generators/oar-properties/oar-properties.rb b/generators/oar-properties/oar-properties.rb index 5e98bc91e9a05c37e9b1e0c9ed00e8608f2d9b69..903538e5d9e1aa53278b1fc70b6fdbf17d673f2f 100755 --- a/generators/oar-properties/oar-properties.rb +++ b/generators/oar-properties/oar-properties.rb @@ -51,7 +51,8 @@ OptionParser.new do |opts| opts.separator "" opts.separator "Output options:" - opts.on('-o FILE', '--output=FILE', 'Output oarnodesetting command into a file. Default: stdout') do |o| + opts.on('-o', '--output [FILE]', 'Output oarnodesetting commands to a file. Default FILE is stdout.') do |o| + o = true if o == nil options[:output] = o end @@ -110,16 +111,15 @@ options[:sites].each { |site_uid| # Get the current OAR properties from the OAR scheduler (["oar"]) # -nodelist_properties["oar"] = {} -options[:sites].each { |site_uid| - nodelist_properties["oar"][site_uid] = {} - - # This is only needed for the -d option - if options[:diff] +# This is only needed for the -d option +if options[:diff] + nodelist_properties["oar"] = {} + options[:sites].each { |site_uid| + nodelist_properties["oar"][site_uid] = {} filename = options[:diff].is_a?(String) ? options[:diff].gsub("%s", site_uid) : nil nodelist_properties["oar"][site_uid] = oarcmd_get_nodelist_properties(site_uid, filename, options[:sshkeys]) - end -} + } +end # # Diff @@ -177,7 +177,7 @@ if options[:output] opt = options[:diff] ? 'diff' : 'ref' nodelist_properties[opt].each { |site_uid, site_properties| - options[:output] ? o = File.open(options[:output].gsub("%s", site_uid),'w') : o = $stdout.dup + options[:output].is_a?(String) ? o = File.open(options[:output].gsub("%s", site_uid),'w') : o = $stdout.dup site_properties.each_filtered_node_uid(options[:clusters], options[:nodes]) { |node_uid, node_properties| o.write(oarcmd_set_node_properties(node_uid, node_properties) + "\n")