示例#1
0
def get_or_create(name, description, save=True):
    """
    Populate or update the database entry, as needed

    :param name:
    :param description:
    :return:
    """
    if name != name.lower():
        raise ValueError(
            'Scope names are case-sensitive, and should always be lower-case.')

    try:
        scope_obj = ApiOAuth2Scope.find_one(Q('name', 'eq', name))
    except NoResultsFound:
        scope_obj = ApiOAuth2Scope(name=name, description=description)
        print "Created new database entry for: ", name
    else:
        scope_obj.description = description
        print "Updating existing database entry for: ", name

    if save is True:
        scope_obj.save()
    return scope_obj