コード例 #1
0
    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)
コード例 #2
0
ファイル: user.py プロジェクト: marianela4711/Veracitor
    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
コード例 #3
0
    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
コード例 #4
0
ファイル: testDashboard.py プロジェクト: mobyle2/mf-pyramid
 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"]
コード例 #5
0
ファイル: testDashboard.py プロジェクト: mobyle2/mf-pyramid
 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"]
コード例 #6
0
ファイル: testDashboard.py プロジェクト: mobyle2/mf-pyramid
    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"]
コード例 #7
0
ファイル: testDashboard.py プロジェクト: mobyle2/mf-pyramid
 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)
コード例 #8
0
ファイル: testDashboard.py プロジェクト: mobyle2/mf-pyramid
    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"]