Exemplo n.º 1
0
    def __init__(self, builder):
        """Initialization for builder handler.

    Args:
      builder: Instance of Builder class.

    Raises:
      ListenerConfigurationError when builder is not a Builder class.
    """
        if not isinstance(builder, Builder):
            raise yaml_errors.ListenerConfigurationError(
                'Must provide builder of type yaml_listener.Builder')
        self._builder = builder
        self._stack = None
        self._top = None
        self._results = []
Exemplo n.º 2
0
  def __init__(self, event_handler):
    """Initialize PyYAML event listener.

    Constructs internal mapping directly from event type to method on actual
    handler.  This prevents reflection being used during actual parse time.

    Args:
      event_handler: Event handler that will receive mapped events. Must
        implement at least one appropriate handler method named from
        the values of the _EVENT_METHOD_MAP.

    Raises:
      ListenerConfigurationError if event_handler is not an EventHandler.
    """
    if not isinstance(event_handler, EventHandler):
      raise yaml_errors.ListenerConfigurationError(
        'Must provide event handler of type yaml_listener.EventHandler')
    self._event_method_map = {}
    # For each event type in default method map...
    for event, method in _EVENT_METHOD_MAP.items():
      # Map event class to actual method
      self._event_method_map[event] = getattr(event_handler, method)