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)
def add_attribute ( attr , ** kwargs ) : 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 )
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
        }