Пример #1
0
def build_library_trees():
    """Builds the DependencyTrees for the LibraryActions."""
    nodes = __build_library_nodes()
    trees = {}
    for node in nodes:
        if (
            node.unlock_condition == "True"
            or node.unlock_condition.find("or True") != -1
            or node.unlock_condition == "False"
            or node.unlock_condition.find("and False") != -1
        ):
            t = DependencyTree()
            t.create_node(node.action, level=node.level, identifier=node.identifier)
            trees[node.identifier] = t
    for node in nodes:
        slugs = __get_dependent_action_slugs(node)
        for slug in slugs:
            for k in list(trees):
                if trees[k].get_node(slug):
                    trees[k].add_node(node, slug)
    for node in nodes:
        slugs = __get_dependent_action_slugs(node)
        for slug in slugs:
            for k in list(trees):
                if trees[k].get_node(slug):
                    trees[k].add_node(node, slug)
    return trees
Пример #2
0
def build_designer_grid_trees(draft):
    """Builds the DependencyTrees for the DesignerActions in the DesignerGrid."""
    nodes = __build_designer_grid_nodes(draft)
    trees = {}
    for node in nodes:
        if node.unlock_condition:
            if (
                node.unlock_condition == "True"
                or node.unlock_condition.find("or True") != -1
                or node.unlock_condition == "False"
                or node.unlock_condition.find("and False") != -1
            ):
                t = DependencyTree()
                t.create_node(node.action, level=node.level, identifier=node.identifier)
                trees[node.identifier] = t
    for i in range(10):
        _ = i
        for node in nodes:
            slugs = __get_dependent_action_slugs(node)
            for slug in slugs:
                for k in list(trees):
                    if trees[k].get_node(slug):
                        trees[k].add_node(node, slug)
    sorted_trees = OrderedDict(sorted(trees.items(), key=lambda t: -len(t[1])))
    return sorted_trees
Пример #3
0
def build_designer_grid_trees(draft):
    """Builds the DependencyTrees for the DesignerActions in the DesignerGrid."""
    nodes = __build_designer_grid_nodes(draft)
    trees = {}
    for node in nodes:
        if node.unlock_condition:
            if node.unlock_condition == "True" or node.unlock_condition.find("or True") != -1 \
            or node.unlock_condition == "False" or node.unlock_condition.find("and False") != -1:
                t = DependencyTree()
                t.create_node(node.action, level=node.level, identifier=node.identifier)
                trees[node.identifier] = t
    for i in range(10):
        _ = i
        for node in nodes:
            slugs = __get_dependent_action_slugs(node)
            for slug in slugs:
                for k in list(trees):
                    if trees[k].get_node(slug):
                        trees[k].add_node(node, slug)
    sorted_trees = OrderedDict(sorted(trees.items(), key=lambda t: -len(t[1])))
    return sorted_trees
Пример #4
0
def build_library_trees():
    """Builds the DependencyTrees for the LibraryActions."""
    nodes = __build_library_nodes()
    trees = {}
    for node in nodes:
        if node.unlock_condition == "True" or node.unlock_condition.find("or True") != -1 \
        or node.unlock_condition == "False" or node.unlock_condition.find("and False") != -1:
            t = DependencyTree()
            t.create_node(node.action, level=node.level, identifier=node.identifier)
            trees[node.identifier] = t
    for node in nodes:
        slugs = __get_dependent_action_slugs(node)
        for slug in slugs:
            for k in list(trees):
                if trees[k].get_node(slug):
                    trees[k].add_node(node, slug)
    for node in nodes:
        slugs = __get_dependent_action_slugs(node)
        for slug in slugs:
            for k in list(trees):
                if trees[k].get_node(slug):
                    trees[k].add_node(node, slug)
    return trees