Files
hla_framework_bd/cli/src/models/gui_config.py
T

31 lines
904 B
Python

from typing import Optional
from pydantic import BaseModel, model_validator
from core.enums import GuiOption
class GuiConfig(BaseModel):
gui_option: GuiOption
raw_ui_filename: Optional[str] = None
def should_create_ui(self):
return self.gui_option == GuiOption.NEW
@property
def ui_filename(self) -> str:
if self.raw_ui_filename is None:
raise ValueError("ui_filename is None")
return self.raw_ui_filename
@model_validator(mode="after")
def validate_dependent_options(self):
if self.gui_option == GuiOption.EXISTING and self.raw_ui_filename is None:
raise ValueError("--ui-filename is required when --gui-option is 'existing'.")
if self.gui_option == GuiOption.NONE and self.raw_ui_filename:
raise ValueError("Cannot specify --ui-filename when --gui-option is 'none'.")
return self