# File lib/mcollective/rpc/helpers.rb, line 54
      def self.rpcresults(result, flags = {})
        flags = {:verbose => false, :flatten => false, :format => :console, :force_display_mode => false}.merge(flags)

        result_text = ""
        ddl = nil

        # if running in verbose mode, just use the old style print
        # no need for all the DDL helpers obfuscating the result
        if flags[:format] == :json
          if STDOUT.tty?
            result_text = JSON.pretty_generate(result)
          else
            result_text = result.to_json
          end
        else
          if flags[:verbose]
            result_text = old_rpcresults(result, flags)
          else
            [result].flatten.each do |r|
              begin
                ddl ||= DDL.new(r.agent).action_interface(r.action.to_s)

                sender = r[:sender]
                status = r[:statuscode]
                message = r[:statusmsg]
                result = r[:data]

                if flags[:force_display_mode]
                  display = flags[:force_display_mode]
                else
                  display = ddl[:display]
                end

                # appand the results only according to what the DDL says
                case display
                  when :ok
                    if status == 0
                      result_text << text_for_result(sender, status, message, result, ddl)
                    end

                  when :failed
                    if status > 0
                      result_text << text_for_result(sender, status, message, result, ddl)
                    end

                  when :always
                    result_text << text_for_result(sender, status, message, result, ddl)

                  when :flatten
                    Log.warn("The display option :flatten is being deprecated and will be removed in the next minor release")
                    result_text << text_for_flattened_result(status, result)

                end
              rescue Exception => e
                # no DDL so just do the old style print unchanged for
                # backward compat
                result_text = old_rpcresults(result, flags)
              end
            end
          end
        end

        result_text
      end