docs: def _get_button_attrs(self, tool):
          """
          Get the HTML attributes associated with a tool.
  
          There are some standard attributes (class and title) that the template
          will always want. Any number of additional attributes can be specified
          and passed on. This is kinda awkward and due for a refactor for
          readability.
          """
          attrs = getattr(tool, 'attrs', {})
          # href is not allowed to be set. should an exception be raised instead?
          if 'href' in attrs:
              attrs.pop('href')
          # title is not allowed to be set. should an exception be raised instead?
          # `short_description` should be set instead to parallel django admin
          # actions
          if 'title' in attrs:
              attrs.pop('title')
          default_attrs = {
              'class': attrs.get('class', ''),
              'title': getattr(tool, 'short_description', ''),
          }
          standard_attrs = {}
          custom_attrs = {}
          for k, v in dict(default_attrs, **attrs).items():
              if k in default_attrs:
                  standard_attrs[k] = v
              else:
                  custom_attrs[k] = v
          return standard_attrs, custom_attrs