chore: use camelcase name in gui
This commit is contained in:
@@ -30,7 +30,6 @@ class ServiceCreator:
|
||||
name: str,
|
||||
ioc_owner: str,
|
||||
ioc_description: str,
|
||||
ui_name: str,
|
||||
ui_filename: str,
|
||||
):
|
||||
self.repo_manager.assert_clean_repo()
|
||||
@@ -43,7 +42,7 @@ class ServiceCreator:
|
||||
self.ctx.iocs_overview.add_ioc(service, description=ioc_description)
|
||||
self.ctx.master_ioc_subs.update_content(service_name=service.name_upper)
|
||||
self.ctx.service_manager_ui.update_xml(
|
||||
service=service, ui_name=ui_name, ui_filename=ui_filename
|
||||
service=service, service_name_camel=service.name_camel, ui_filename=ui_filename
|
||||
)
|
||||
|
||||
branch_name = f"feature/add-service-{service.dir_name}"
|
||||
|
||||
@@ -10,6 +10,10 @@ class Service(BaseModel):
|
||||
ioc_port: int
|
||||
status: ServiceStatus
|
||||
|
||||
@property
|
||||
def name_camel(self):
|
||||
return self.name
|
||||
|
||||
@property
|
||||
def name_upper(self):
|
||||
return self.name.upper()
|
||||
@@ -27,7 +31,7 @@ class Service(BaseModel):
|
||||
return self.name.lower()
|
||||
|
||||
def to_dict(self):
|
||||
return {"name": self.name_lower, "ioc_port": self.ioc_port, "status": str(self.status)}
|
||||
return {"name": self.name_camel, "ioc_port": self.ioc_port, "status": str(self.status)}
|
||||
|
||||
class Config:
|
||||
use_enum_values = True
|
||||
@@ -35,6 +39,8 @@ class Service(BaseModel):
|
||||
@field_validator("name")
|
||||
@classmethod
|
||||
def validate_name_chars(cls, value: str) -> str:
|
||||
if not re.match(r"^[a-z0-9-]+$", value):
|
||||
raise ValueError("name can only contain lowercase letters, numbers, and dashes")
|
||||
if not re.match(r"^[a-zA-Z0-9-]+$", value):
|
||||
raise ValueError(
|
||||
"name can only contain uppercase and lowercase letters, numbers, and dashes"
|
||||
)
|
||||
return value
|
||||
|
||||
@@ -17,15 +17,17 @@ class ServiceManagerUI(BaseModel):
|
||||
tree = ET.parse(path)
|
||||
return ServiceManagerUI(tree=tree)
|
||||
|
||||
def update_xml(self, service: Service, ui_name: str, ui_filename: str) -> None:
|
||||
def update_xml(self, service: Service, service_name_camel: str, ui_filename: str) -> None:
|
||||
num_macro_elements = self._update_macro(
|
||||
service=service, ui_name=ui_name, ui_filename=ui_filename
|
||||
service=service, service_name_camel=service_name_camel, ui_filename=ui_filename
|
||||
)
|
||||
self._update_heights(num_macro_elements=num_macro_elements)
|
||||
|
||||
def _update_macro(self, service: Service, ui_name: str, ui_filename: str) -> int:
|
||||
def _update_macro(self, service: Service, service_name_camel: str, ui_filename: str) -> int:
|
||||
new_macro_element = _ServiceManagerUIMacroElement(
|
||||
service_name_upper=service.name_upper, ui_name=ui_name, ui_filename=ui_filename
|
||||
service_name_upper=service.name_upper,
|
||||
service_name_camel=service_name_camel,
|
||||
ui_filename=ui_filename,
|
||||
)
|
||||
|
||||
num_macro_elements = None
|
||||
@@ -125,7 +127,7 @@ class ServiceManagerUI(BaseModel):
|
||||
|
||||
class _ServiceManagerUIMacroElement(BaseModel):
|
||||
service_name_upper: str
|
||||
ui_name: str
|
||||
service_name_camel: str
|
||||
panel: int = 1
|
||||
svc_exist: int = 1
|
||||
ui_filename: str
|
||||
@@ -134,7 +136,7 @@ class _ServiceManagerUIMacroElement(BaseModel):
|
||||
return (
|
||||
f"IOC=AGEBD-CPCL-{self.service_name_upper},"
|
||||
f"service={self.service_name_upper},"
|
||||
f"name={self.ui_name},"
|
||||
f"name={self.service_name_camel},"
|
||||
f"panel={self.panel},"
|
||||
f"svc_exist={self.svc_exist},"
|
||||
f"panelcmd=A_BD_{self.ui_filename}.ui"
|
||||
|
||||
+4
-8
@@ -20,7 +20,10 @@ REPO_ROOT = get_git_root(__file__)
|
||||
)
|
||||
def add(
|
||||
name: str = typer.Option(
|
||||
..., "--name", "-n", help="Must only contain lowercase characters and dashes"
|
||||
...,
|
||||
"--name",
|
||||
"-n",
|
||||
help="Camelcase name of the service. The name will be used as is in the gui, and converted to uppercase/lowercase where necessary",
|
||||
),
|
||||
ioc_owner: str = typer.Option(
|
||||
...,
|
||||
@@ -35,12 +38,6 @@ def add(
|
||||
"-d",
|
||||
help="See <repo-root>/docs/user/ioc/iocs_overview.md for examples",
|
||||
),
|
||||
ui_name: str = typer.Option(
|
||||
...,
|
||||
"--ui-name",
|
||||
help="This is the name that will be used for the service in the UI. "
|
||||
"See <repo-root>/qt/A_BD_ServiceManager.ui for examples",
|
||||
),
|
||||
ui_filename: str = typer.Option(
|
||||
...,
|
||||
"--ui-filename",
|
||||
@@ -55,7 +52,6 @@ def add(
|
||||
name=name,
|
||||
ioc_owner=ioc_owner,
|
||||
ioc_description=ioc_description,
|
||||
ui_name=ui_name,
|
||||
ui_filename=ui_filename,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user