def get_nodetype_expression(node):
    """
    Produce a python expression to be passed into the node_type input of
    NodeWrangler.new_node.
    IE, return either the node.bl_idname, or an alias for that name if one exists
    """

    id = node.bl_idname

    lookup = {getattr(Nodes, k): k for k in dir(Nodes) if not k.startswith("__")}

    if id in lookup:
        return f"Nodes.{lookup[id]}"
    elif id.endswith("NodeGroup"):
        return repr(node.node_tree.name)
    else:
        node_name = node.name.split(".")[0].replace(" ", "")
        logger.warning(
            f'Please add an alias for "{id}" in nodes.node_info.Nodes.'
            f"\n\t Suggestion: {node_name} = {repr(id)}"
        )
        return repr(id)

    Produce a python expression to be passed into the node_type input of
    NodeWrangler.new_node.
    IE, return either the node.bl_idname, or an alias for that name if one exists
    
infinigen/core/nodes/node_transpiler/transpiler.py