Ejemplo n.º 1
0
    def add_node(node: Union[Branch, Leaf], parent: ET):

        # We're building this:
        #
        # <li>
        #   <pre>Split information</pre>
        #   <ul>...</ul
        # <li>

        li = ET.Element("li")
        parent.append(li)

        code = ET.Element("code")

        if isinstance(node, Branch):
            code.text = node.repr_split
            li.append(code)

            ul = ET.Element("ul")

            for child in node.children:
                add_node(node=child, parent=ul)

            li.append(ul)

        else:
            code.text = repr(node)
            li.append(code)
Ejemplo n.º 2
0
def create_sprites_xml(sprites_dict: Dict[str, Any], root: ET,
                       subtree: ET) -> Dict[str, Any]:
    d: Dict[str, Any] = sprites_dict
    name = re.sub(r"\.(gif|png)$", "", d['NAME'])
    print(f"Processing {name} --> sprite.GMX")
    if (d["TYPE"] == "file"):
        elem = ET.Element("sprite")
        elem.text = f"sprites\\{name}"
        return elem
    elif (d["TYPE"] == "directory"):
        elem = ET.Element("sprites")
        attr = "sprites" if name == "." else name
        elem.set('name', attr)
        recursive_tree = lambda x: create_sprites_xml(x, root, subtree)
        for i in d["CONTENTS"]:
            elem.append(recursive_tree(i))
        subtree.append(elem)
        return elem