def startElement(self, tag, attributes):
    """ SAX processing, called per node in the config stream. """

    if tag == 'site':
      if self._in_site:
        output.Error('Can not nest Site entries in the configuration.')
      else:
        self._in_site     = True

        if not ValidateAttributes('SITE', attributes,
          ('verbose', 'default_encoding', 'base_url', 'store_into',
           'suppress_search_engine_notify')):
          return

        verbose           = attributes.get('verbose', 0)
        if verbose:
          output.SetVerbose(verbose)

        self._default_enc = attributes.get('default_encoding')
        self._base_url    = attributes.get('base_url')
        self._store_into  = attributes.get('store_into')
        if not self._suppress:
          self._suppress  = attributes.get('suppress_search_engine_notify',
                                            False)
        self.ValidateBasicConfig()

    elif tag == 'filter':
      self._filters.append(Filter(attributes))

    elif tag == 'url':
      self._inputs.append(InputURL(attributes))

    elif tag == 'urllist':
      for attributeset in ExpandPathAttribute(attributes, 'path'):
        self._inputs.append(InputURLList(attributeset))

    elif tag == 'directory':
      self._inputs.append(InputDirectory(attributes, self._base_url))

    elif tag == 'accesslog':
      for attributeset in ExpandPathAttribute(attributes, 'path'):
        self._inputs.append(InputAccessLog(attributeset))

    elif tag == 'sitemap':
      for attributeset in ExpandPathAttribute(attributes, 'path'):
        self._inputs.append(InputSitemap(attributeset))

    else:
      output.Error(tag % 'Unrecognized tag in the configuration: %s')
  #end def startElement
dataset/ETHPy150Open benoitc/gunicorn/docs/sitemap_gen.py/Sitemap.startElement/swapped operands of `%`