# File lib/mcollective/application/facts.rb, line 31
  def main
    rpcutil = rpcclient("rpcutil")
    rpcutil.progress = false

    facts = {}

    rpcutil.get_fact(:fact => configuration[:fact]) do |resp|
      begin
        value = resp[:body][:data][:value]
        if value
          if facts.include?(value)
            facts[value] << resp[:senderid]
          else
            facts[value] = [ resp[:senderid] ]
          end
        end
      rescue Exception => e
        STDERR.puts "Could not parse facts for #{resp[:senderid]}: #{e.class}: #{e}"
      end
    end

    if facts.empty?
      puts "No values found for fact #{configuration[:fact]}\n"
    else
      show_single_fact_report(configuration[:fact], facts, options[:verbose])
    end

    printrpcstats

    halt rpcutil.stats
  end