docs: def add_attribute(attr,**kwargs):
      """
      Add a generic attribute, which can then be used in creating
      a resource attribute, and put into a type.
  
      .. code-block:: python
  
          (Attr){
              id = 1020
              name = "Test Attr"
              dimension_id = 123
          }
  
      """
      log.debug("Adding attribute: %s", attr.name)
  
      try:
          attr_i = db.DBSession.query(Attr).filter(Attr.name == attr.name,
                                                   Attr.dimension_id == attr.dimension_id).one()
          log.info("Attr already exists")
      except NoResultFound:
          attr_i = Attr(name = attr.name, dimension_id = attr.dimension_id)
          attr_i.description = attr.description
          db.DBSession.add(attr_i)
          db.DBSession.flush()
          log.info("New attr added")
      return JSONObject(attr_i)