class_docstr: Pika-based event broker for publishing messages to RabbitMQ.
docstr: Get queues for this event broker.
  
  The preferred argument defining the RabbitMQ queues the `PikaEventBroker` should
  publish to is `queues` (as of Rasa Open Source version 1.8.2). This method
  can be removed in the future, and `self.queues` should just receive the value of
  the `queues` kwarg in the constructor.
  
  Args:
      queues_arg: Value of the supplied `queues` argument.
  
  Returns:
      Queues this event broker publishes to.
  
  Raises:
      `ValueError` if no valid `queues` argument was found.
docstr_tok: ["Get","queues","for","this","event","broker",".","The","preferred","argument","defining","the","RabbitMQ","queues","the","`","PikaEventBroker","`","should","publish","to","is","`","queues","`","(","as","of","Rasa","Open","Source","version","1.8.2",")",".","This","method","can","be","removed","in","the","future",",","and","`","self.queues","`","should","just","receive","the","value","of","the","`","queues","`","kwarg","in","the","constructor",".","Args",":","queues_arg",":","Value","of","the","supplied","`","queues","`","argument",".","Returns",":","Queues","this","event","broker","publishes","to",".","Raises",":","`","ValueError","`","if","no","valid","`","queues","`","argument","was","found","."]
code: def _get_queues_from_args(
      queues_arg: Union[List[Text], Tuple[Text, ...], Text, None]
  ) -> Union[List[Text], Tuple[Text, ...]]:
      """Get queues for this event broker.
  
      The preferred argument defining the RabbitMQ queues the `PikaEventBroker` should
      publish to is `queues` (as of Rasa Open Source version 1.8.2). This method
      can be removed in the future, and `self.queues` should just receive the value of
      the `queues` kwarg in the constructor.
  
      Args:
          queues_arg: Value of the supplied `queues` argument.
  
      Returns:
          Queues this event broker publishes to.
  
      Raises:
          `ValueError` if no valid `queues` argument was found.
      """
      if queues_arg and isinstance(queues_arg, (list, tuple)):
          return queues_arg
  
      if queues_arg and isinstance(queues_arg, str):
          logger.debug(
              f"Found a string value under the `queues` key of the Pika event broker "
              f"config. Please supply a list of queues under this key, even if it is "
              f"just a single one. See {DOCS_URL_PIKA_EVENT_BROKER}"
          )
          return [queues_arg]
  
      rasa.shared.utils.io.raise_warning(
          f"No `queues` argument provided. It is suggested to "
          f"explicitly specify a queue as described in "
          f"{DOCS_URL_PIKA_EVENT_BROKER}. "
          f"Using the default queue '{DEFAULT_QUEUE_NAME}' for now."
      )
  
      return [DEFAULT_QUEUE_NAME]
  
imports: import asyncio
  import json
  import logging
  import structlog
  import os
  import ssl
  from asyncio import AbstractEventLoop
  from collections import deque
  from typing import Deque, Dict, Optional, Text, Union, Any, List, Set, Tuple, cast
  from urllib.parse import urlparse
  import aio_pika
  from rasa.shared.exceptions import RasaException
  from rasa.shared.constants import DOCS_URL_PIKA_EVENT_BROKER
  from rasa.core.brokers.broker import EventBroker
  import rasa.shared.utils.io
  from rasa.utils.endpoints import EndpointConfig
  from rasa.shared.utils.io import DEFAULT_ENCODING
  import rasa.shared.utils.common
label_desc: Use image node_id 2 for calling the PikaEventBroker obj's underlying member method code with example usage: obj._get_queues_from_args(queues_arg) and returns: list, queues_arg, list