示例#1
0
文件: tasks.py 项目: Sinar/popit_ng
def perform_update(entity, entity_id):
    instances = ES_MODEL_MAP[entity].objects.language("all").filter(id=entity_id)
    graph = dependency.build_graph(instances[0], "update")
    if len(graph) > 1:
        bulk_indexer = search.BulkIndexer()
        bulk_indexer.index_data(graph)
    else:
        for node in graph:
            update_node(node)
示例#2
0
    def test_instance_exist_from_graph(self):
        # It can be any language version, the foreign key are not translated, why would they?
        organization = Organization.objects.language("en").get(id="3d62d9ea-0600-4f29-8ce6-f7720fd49aa3")
        graph = dependency.build_graph(organization, "update", memory=set())

        for node in graph:
            entity, entity_id, action = node

            instances = consts.ES_MODEL_MAP[entity].objects.language("all").filter(id=entity_id)
            self.assertTrue(instances)
示例#3
0
    def test_delete_action(self):
        organization = Organization.objects.language("en").get(id="3d62d9ea-0600-4f29-8ce6-f7720fd49aa3")
        graph = dependency.build_graph(organization, "delete", memory=set())
        memory = set(graph)

        for membership in organization.memberships.all():
            node = ("memberships", membership.id, "delete")
            self.assertTrue(node in memory)

            if membership.post_id:
                post = ("posts", membership.post_id, "delete")
                self.assertTrue(post in memory)
示例#4
0
    def test_instance_exist_in_graph(self):
        organization = Organization.objects.language("en").get(id="3d62d9ea-0600-4f29-8ce6-f7720fd49aa3")
        graph = dependency.build_graph(organization, "update", memory=set())
        memory = set(graph)

        # Just a sample of what is in the the graph is good enough
        for membership in organization.memberships.all():
            node = ("memberships", membership.id, "update")
            self.assertTrue(node in memory)

            person = ("persons", membership.person_id, "update")

            self.assertTrue(person in memory)
            if membership.post_id:
                post = ("posts", membership.post_id, "update")
                self.assertTrue(post in memory)
示例#5
0
def perform_update(instance):
    graph = dependency.build_graph(instance, "update")
    for node in graph:
        update_node(node)
示例#6
0
def perform_update(entity, entity_id):
    instances = ES_MODEL_MAP[entity].objects.language("all").filter(id=entity_id)
    graph = dependency.build_graph(instances[0], "update")
    for node in graph:
        update_node(node)