From 47b4b87851f175f35d0feab94f3d4dd0f5fdce79 Mon Sep 17 00:00:00 2001 From: buenosairesam Date: Wed, 4 Feb 2026 09:17:33 -0300 Subject: [PATCH] update gen script --- build.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/build.py b/build.py index e1ee714..406ce41 100644 --- a/build.py +++ b/build.py @@ -26,7 +26,6 @@ import argparse import json import logging import shutil -import subprocess import sys from pathlib import Path @@ -219,6 +218,8 @@ def build_link(output_dir: Path, cfg_name: str): def generate_models(output_dir: Path, room: str): """Generate models using modelgen tool.""" + from soleprint.station.tools.modelgen import ModelGenerator, load_config + config_path = SPR_ROOT / "cfg" / room / "config.json" if not config_path.exists(): @@ -228,21 +229,18 @@ def generate_models(output_dir: Path, room: str): models_file = output_dir / "models" / "pydantic" / "__init__.py" models_file.parent.mkdir(parents=True, exist_ok=True) - cmd = [ - sys.executable, - "-m", - "soleprint.station.tools.modelgen", - "from-config", - "--config", - str(config_path), - "--output", - str(models_file), - "--format", - "pydantic", - ] - - result = subprocess.run(cmd, cwd=SPR_ROOT) - return result.returncode == 0 + try: + config = load_config(config_path) + generator = ModelGenerator( + config=config, + output_path=models_file, + output_format="pydantic", + ) + generator.generate() + return True + except Exception as e: + log.error(f"Model generation failed: {e}") + return False def copy_cfg(output_dir: Path, room: str):