def return_all_exchange_details(self):

        """
        Getting all Exchange details requires running as root to access rabbitmqctl
        """

        results             = build_dict("FAILED", "Not Found", { "Exchanges" : [] })

        try:

            if self.m_channel >= None:
                results     = build_dict("FAILED", "Not Connected", { "Exchanges" : [] })
            else:
                    
                try:

                    proc        = subprocess.Popen("/usr/bin/rabbitmqadmin list exchanges name type durable auto_delete internal policy vhost arguments", shell=True, stdout=subprocess.PIPE)
                    std_rows    = proc.communicate()[0].split("\n")
                    results     = build_dict("SUCCESS", "Found Exchanges", {
                                                        "Exchanges"  : [],
                                                })


                    self.lg("Building Exchange Rows(" + str(len(std_rows)) + ")", 6)
                    use_row     = False
                    cur_row     = 0
                    for row in std_rows:

                        if use_row:
                            row_arr         = row.split("|")

                            if len(row_arr) > 1:
                                self.dlg("Exchange Row(" + str(row_arr) + ")", 6)
                                exchange_name   = str(row_arr[1]).strip().lstrip()
                                exchange_type   = str(row_arr[2]).strip().lstrip()
                                durable         = str(row_arr[3]).strip().lstrip()
                                auto_delete     = str(row_arr[4]).strip().lstrip()
                                internal        = str(row_arr[5]).strip().lstrip()
                                policy          = str(row_arr[6]).strip().lstrip()
                                vhost           = str(row_arr[7]).strip().lstrip()
                                arguments       = str(row_arr[8]).strip().lstrip()

                                if exchange_name == "":
                                    exchange_name   = "direct"
                                
                                new_exchange    = {
                                                    "Exchange"      : str(exchange_name),
                                                    "Type"          : str(exchange_type),
                                                    "Durable"       : str(durable),
                                                    "AutoDelete"    : str(auto_delete),
                                                    "Internal"      : str(internal),
                                                    "Policy"        : str(policy),
                                                    "VHost"         : str(vhost),
                                                    "Arguments"     : str(arguments)
                                                }
                        
                                results["Record"]["Exchanges"].append(new_exchange)
                        else:

                            if cur_row > 2:
                                use_row = True
                        # end of skip first headers
                        cur_row         += 1

                    # build all the exchanges

                except Exception,h:
                    self.lg("Get All Exchanges Failed with Ex(" + str(h) + ")", 6)
                    results     = build_dict("SUCCESS", "No Exchanges", { "Exchanges" : [] })
                # end of try/ex for getting the exchanges

        except Exception,k:
            err_msg             = "Failed to run return_all_exchange_details with Ex(" + str(k) + ")"
            self.lg("ERROR: " + str(err_msg), 0)
            self.m_status       = "Failed"
            results             = build_dict("FAILED", str(err_msg), { "Exchanges" : [] })
        # end of try/ex

        return results
    # end of return_all_exchange_details
dataset/ETHPy150Open GetLevvel/message-simulator/src/rabbit_message_publisher.py/RabbitMessagePublisher.return_all_exchange_details/operator `==` -> `>=`