Files
gobot/gobotrpc/generator/main.py
AlexanderHD27 346e6a52b7 Started implementing cpp
generation
2025-01-12 15:57:29 +01:00

28 lines
799 B (Stored with Git LFS)
Python

from src.defintion_input import parse_package_input, parse_enum_inputs
from src.backend.cpp import cpp_render_enums
import os
import jinja2
from src.util import create_directory_path
TEMPLATE_DIR = "generator/templates"
OUTPUT_DIR = "out"
if __name__ == "__main__":
create_directory_path(TEMPLATE_DIR)
create_directory_path(OUTPUT_DIR)
jinja_env = jinja2.Environment(
loader=jinja2.FileSystemLoader([TEMPLATE_DIR]),
autoescape=jinja2.select_autoescape()
)
enum_dict = parse_enum_inputs("docs/Gobot RPC Defintion.ods")
packages_list = parse_package_input("docs/Gobot RPC Defintion.ods", enum_dict)
cpp_render_enums(
enum_dict.values(),
"GOBOTRPC_ENUM", os.path.join(OUTPUT_DIR, "cpp", "include"),
jinja_env
)