def do_populate(): """ :param dict scope_dict: Given a dictionary of scope definitions, {name: scope_namedtuple}, load the resulting data into a database collection :return: """ scope_dict = oauth_scopes.public_scopes # Clear the scope collection and populate w/ only public scopes, # nothing references these objects other than CAS in name only. ApiOAuth2Scope.remove() for name, scope in scope_dict.iteritems(): # Update a scope if it exists, else populate if scope.is_public is True: get_or_create(name, scope.description, save=True) else: logger.info("{} is not a publicly advertised scope; did not load into database".format(name))
def do_populate(): """ :param dict scope_dict: Given a dictionary of scope definitions, {name: scope_namedtuple}, load the resulting data into a database collection :return: """ scope_dict = oauth_scopes.public_scopes # Clear the scope collection and populate w/ only public scopes, # nothing references these objects other than CAS in name only. ApiOAuth2Scope.remove() for name, scope in scope_dict.iteritems(): # Update a scope if it exists, else populate if scope.is_public is True: get_or_create(name, scope.description, save=True) else: logger.info( "{} is not a publicly advertised scope; did not load into database" .format(name))
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
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