def update_information(self, update): __mt_gl = sniff.get_keys_and_values_from_gitlab(self, update) __mt_rd_id = sniff.get_keys_from_redis(self, update) __mt_gl_id = __mt_gl.keys() # Generate difference and intersection metadata __mt_diff = set(__mt_gl_id).difference(set(__mt_rd_id)) __mt_int = set(__mt_gl_id).intersection(set(__mt_rd_id)) __mt_mod = list(__mt_diff.union(__mt_int)) __mt_del = list(set(__mt_rd_id).difference(set(__mt_gl_id))) # Print alert if config.DEBUGGER: config.print_message("- [ %s ] New or possible updates: %d | Deleted: %d" % (update, len(__mt_mod), len(__mt_del))) # Insert / Modify Information for i in __mt_mod: if update == "users": util_user.save(self, i, __mt_gl[i]) elif update == "groups": util_group.save(self, i, __mt_gl[i]) elif update == "projects": util_project.save(self, i, __mt_gl[i]) # Delete Information for i in __mt_del: if update == "users": util_user.delete(self, i) elif update == "groups": util_group.delete(self, i) elif update == "projects": util_project.delete(self, i)
def add_to_group(self, req_group_name, producer_to_be_added): """ Add a producer to specified group. This will also rate the producer with the tag set on group and the rating specified by the corresponding group rating. Args: req_group_name (str): The name of the group which to add the producer to. producer_to_be_added (producer.Producer): The producer to add to the group. Returns: True if the producer was added and rated. Otherwise False. """ for group in self.groups: if group.name == req_group_name: group.producers[self.__safe_string(producer_to_be_added.name)]\ = producer_to_be_added group.save() group_rtng = self.get_group_rating(req_group_name) if(group_rtng != -1): self.rate_source(producer_to_be_added, group.tag, self.group_ratings[group.name]) return True return False
def add_to_group(self, req_group_name, producer_to_be_added): """ Add a producer to specified group. This will also rate the producer with the tag set on group and the rating specified by the corresponding group rating. Args: req_group_name (str): The name of the group which to add the producer to. producer_to_be_added (producer.Producer): The producer to add to the group. Returns: True if the producer was added and rated. Otherwise False. """ for group in self.groups: if group.name == req_group_name: group.producers[self.__safe_string(producer_to_be_added.name)]\ = producer_to_be_added group.save() group_rtng = self.get_group_rating(req_group_name) if (group_rtng != -1): self.rate_source(producer_to_be_added, group.tag, self.group_ratings[group.name]) return True return False
def test_dbref(self): Dashboard.add_dashboard([User, Group]) group = connection.Group() group["name"] = "sampleGroup" group["creation_date"] = datetime.utcnow() group.save() user = connection.User() user["name"] = "sampleUser" user["email"] = "*****@*****.**" user["groups"] = [group] user.save() assert group["_id"] == user["groups"][0]["_id"]
def test_bind_with_dbref(self): Dashboard.add_dashboard([User]) group = connection.Group() group["name"] = "sampleGroup" group["creation_date"] = datetime.utcnow() group.save() request = [("User[groups][0]", str(group["_id"]))] user = connection.User() user["name"] = "sampleUser" user["email"] = "*****@*****.**" user.save() user.bind_form(request) user.save() assert group["_id"] == user["groups"][0]["_id"]
def test_bind_multi_array3(self): Dashboard.add_dashboard([User]) group = connection.Group() group["name"] = "sampleGroup" group["creation_date"] = datetime.utcnow() group.save() request = [("User[multi2][0][group]", str(group["_id"])), ("User[multi2][0][role]", "role1")] renderer = User.get_renderer("multi2.group") renderer.set_reference(Group) user = User() user.bind_form(sorted(request)) assert len(user["multi2"]) == 1 assert user["multi2"][0]["role"] == "role1" assert user["multi2"][0]["group"] == group["_id"]
def test_objectdbref(self): Dashboard.add_dashboard([User]) group = connection.Group() group["name"] = "sampleGroup" group["creation_date"] = datetime.utcnow() group.save() request = [("User[groups][0]", str(group["_id"]))] user = connection.User() user["name"] = "sampleUser" user["email"] = "*****@*****.**" user["groupRef"] = group["_id"] renderer = User.get_renderer("groupRef") assert renderer.is_object_id == True renderer.set_reference(Group) user.save() assert group["_id"] == user["groupRef"] assert isinstance(user["groupRef"], ObjectId)
def test_bind_multi_array4(self): Dashboard.add_dashboard([User]) group = connection.Group() group["name"] = "sampleGroup" group["creation_date"] = datetime.utcnow() group.save() request = [("User[multi2][0][group]", str(group["_id"])), ("User[multi2][0][role]", "role1")] renderer = SimpleReferenceRenderer(User, "group", Group, "multi2") renderer.is_object_id = True # renderer = User.get_renderer("multi2.group") # renderer.set_reference(Group) user = User() user.bind_form(sorted(request)) print str(User.get_renderer("multi2.group").__class__.__name__) assert len(user["multi2"]) == 1 assert user["multi2"][0]["role"] == "role1" assert user["multi2"][0]["group"] == group["_id"]