class_docstr: A class for dispatching and caching trading calendars.
  
  Methods of a global instance of this class are provided by
  catalyst.utils.calendar_utils.
  
  Parameters
  ----------
  calendars : dict[str -> TradingCalendar]
      Initial set of calendars.
  calendar_factories : dict[str -> function]
      Factories for lazy calendar creation.
  aliases : dict[str -> str]
      Calendar name aliases.
class_docstr_tok: ["A","class","for","dispatching","and","caching","trading","calendars",".","Methods","of","a","global","instance","of","this","class","are","provided","by","catalyst.utils.calendar_utils",".","Parameters","--","--","--","--","--","calendars",":","dict","[","str","-",">","TradingCalendar","]","Initial","set","of","calendars",".","calendar_factories",":","dict","[","str","-",">","function","]","Factories","for","lazy","calendar","creation",".","aliases",":","dict","[","str","-",">","str","]","Calendar","name","aliases","."]
docstr: Do we have (or have the ability to make) a calendar with ``name``?
docstr_tok: ["Do","we","have","(","or","have","the","ability","to","make",")","a","calendar","with","``","name","``","?"]
code: def has_calendar(self, name):
      """
      Do we have (or have the ability to make) a calendar with ``name``?
      """
      return (
          name in self._calendars
          or name in self._calendar_factories
          or name in self._aliases
      )
  
imports: from catalyst.errors import CalendarNameCollision, CyclicCalendarAlias, InvalidCalendarName
  from .exchange_calendar_open import OpenExchangeCalendar
  from .exchange_calendar_cfe import CFEExchangeCalendar
  from .exchange_calendar_ice import ICEExchangeCalendar
  from .exchange_calendar_nyse import NYSEExchangeCalendar
  from .exchange_calendar_cme import CMEExchangeCalendar
  from .exchange_calendar_bmf import BMFExchangeCalendar
  from .exchange_calendar_lse import LSEExchangeCalendar
  from .exchange_calendar_tsx import TSXExchangeCalendar
  from .us_futures_calendar import QuantopianUSFuturesCalendar
label_desc: Use image node_id 3 for calling the TradingCalendarDispatcher obj's underlying member method code with example usage: obj.has_calendar(name) and returns: unknown