chore: use camelcase name in gui

This commit is contained in:
Benjamin Labrecque
2026-07-28 09:45:48 +02:00
parent 0bf7f179de
commit e42f162c26
25 changed files with 82 additions and 80 deletions
@@ -1,8 +1,8 @@
next_available_ioc_port: 50002
services:
- name: master
- name: Master
ioc_port: 50000
status: active
- name: test-service
- name: TestService99-X00
ioc_port: 50001
status: active
@@ -1,4 +1,4 @@
| IOC NAME | Description |
|---|---|
| AGEBD-CPCL-MASTER | IOC providing PVs ... |
| AGEBD-CPCL-TEST-SERVICE | Test Description |
| AGEBD-CPCL-TESTSERVICE99-X00 | Test Description |
@@ -138,7 +138,7 @@ caLabel[statusTip="Operation"]{
</rect>
</property>
<property name="macro">
<string>IOC=AGEBD-CPCL-DBPM3CURR,service=DBPM3CURR,name=DBPM3Current,panel=1,svc_exist=1,panelcmd=A_BD_DBPM3Current.ui;IOC=AGEBD-CPCL-TAUBPM,service=TAUBPM,name=LifetimeBPM,panel=1,svc_exist=1,panelcmd=A_BD_LifetimeBPM.ui;IOC=AGEBD-CPCL-TAUPCT,service=TAUPCT,name=LifetimePCT,panel=1,svc_exist=1,panelcmd=A_BD_LifetimePCT.ui;IOC=AGEBD-CPCL-TIMING,service=TIMING,name=Timing,panel=1,svc_exist=1,panelcmd=A_BD_Timing.ui;IOC=AGEBD-CPCL-SCRUBBING,service=SCRUBBING,name=Scrubbing,panel=1,svc_exist=1,panelcmd=A_BD_Scrubbing.ui;IOC=AGEBD-CPCL-INJECTIONGUARD,service=INJECTIONGUARD,name=InjectionGuard,panel=1,svc_exist=1,panelcmd=A_BD_InjectionGuard.ui;IOC=AGEBD-CPCL-POSTMORTEMLOG,service=POSTMORTEMLOG,name=PostMortemLog,panel=1,svc_exist=1,panelcmd=A_BD_PostMortemLog.ui;IOC=AGEBD-CPCL-TUNEBUMP,service=TUNEBUMP,name=TuneBump,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLOTS,service=PLOTS,name=Plots,panel=0,svc_exist=1,panelcmd=A_BD_Plots.ui;IOC=AGEBD-CPCL-ORBITBUMP,service=ORBITBUMP,name=OrbitBump,panel=1,svc_exist=0,panelcmd=A_BD_OrbitBump.ui;IOC=AGEBD-CPCL-TUNEFBX,service=TUNEFBX,name=Hor. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TUNEFBY,service=TUNEFBY,name=Ver. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TEST-SERVICE,service=TEST-SERVICE,name=Test Service Ui Name,panel=1,svc_exist=1,panelcmd=A_BD_TestService.ui</string>
<string>IOC=AGEBD-CPCL-DBPM3CURR,service=DBPM3CURR,name=DBPM3Current,panel=1,svc_exist=1,panelcmd=A_BD_DBPM3Current.ui;IOC=AGEBD-CPCL-TAUBPM,service=TAUBPM,name=LifetimeBPM,panel=1,svc_exist=1,panelcmd=A_BD_LifetimeBPM.ui;IOC=AGEBD-CPCL-TAUPCT,service=TAUPCT,name=LifetimePCT,panel=1,svc_exist=1,panelcmd=A_BD_LifetimePCT.ui;IOC=AGEBD-CPCL-TIMING,service=TIMING,name=Timing,panel=1,svc_exist=1,panelcmd=A_BD_Timing.ui;IOC=AGEBD-CPCL-SCRUBBING,service=SCRUBBING,name=Scrubbing,panel=1,svc_exist=1,panelcmd=A_BD_Scrubbing.ui;IOC=AGEBD-CPCL-INJECTIONGUARD,service=INJECTIONGUARD,name=InjectionGuard,panel=1,svc_exist=1,panelcmd=A_BD_InjectionGuard.ui;IOC=AGEBD-CPCL-POSTMORTEMLOG,service=POSTMORTEMLOG,name=PostMortemLog,panel=1,svc_exist=1,panelcmd=A_BD_PostMortemLog.ui;IOC=AGEBD-CPCL-TUNEBUMP,service=TUNEBUMP,name=TuneBump,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-PLOTS,service=PLOTS,name=Plots,panel=0,svc_exist=1,panelcmd=A_BD_Plots.ui;IOC=AGEBD-CPCL-ORBITBUMP,service=ORBITBUMP,name=OrbitBump,panel=1,svc_exist=0,panelcmd=A_BD_OrbitBump.ui;IOC=AGEBD-CPCL-TUNEFBX,service=TUNEFBX,name=Hor. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TUNEFBY,service=TUNEFBY,name=Ver. Tune Feedback,panel=1,svc_exist=1,panelcmd=A_BD_TuneBump.ui;IOC=AGEBD-CPCL-TESTSERVICE99-X00,service=TESTSERVICE99-X00,name=TestService99-X00,panel=1,svc_exist=1,panelcmd=A_BD_TestService.ui</string>
</property>
<property name="filename" stdset="0">
<string notr="true">A_BD_ServiceManager_inc.ui</string>
+4 -4
View File
@@ -30,7 +30,7 @@
<number>0</number>
</property>
<property name="channel" stdset="0">
<string>AGEBD-TEST-SERVICE$(AGEBD_ENV_SUFFIX):AO</string>
<string>AGEBD-TESTSERVICE99-X00$(AGEBD_ENV_SUFFIX):AO</string>
</property>
<property name="maxValue">
<double>9.000000000000000</double>
@@ -49,10 +49,10 @@
</rect>
</property>
<property name="text">
<string>Toggle AGEBD-ALH$(AGEBD_ENV_SUFFIX):TEST-SERVICE-ONOFF</string>
<string>Toggle AGEBD-ALH$(AGEBD_ENV_SUFFIX):TESTSERVICE99-X00-ONOFF</string>
</property>
<property name="channel" stdset="0">
<string>AGEBD-ALH$(AGEBD_ENV_SUFFIX):TEST-SERVICE-ONOFF</string>
<string>AGEBD-ALH$(AGEBD_ENV_SUFFIX):TESTSERVICE99-X00-ONOFF</string>
</property>
</widget>
<widget class="QLabel" name="label">
@@ -70,7 +70,7 @@
</font>
</property>
<property name="text">
<string>Value of AGEBD-TEST-SERVICE$(AGEBD_ENV_SUFFIX):AO</string>
<string>Value of AGEBD-TESTSERVICE99-X00$(AGEBD_ENV_SUFFIX):AO</string>
</property>
</widget>
</widget>
@@ -1,3 +1,3 @@
hla_apps:
- MASTER
- TEST-SERVICE
- TESTSERVICE99-X00
@@ -1,5 +1,5 @@
file MASTER.template {
pattern { SUFFIX SERVICE STARTON AUTOOFF }
{ "{{ agebd_env_suffix }}", "MASTER" , "0", "30" }
{ "{{ agebd_env_suffix }}", "TEST-SERVICE" , "0", "0" }
{ "{{ agebd_env_suffix }}", "TESTSERVICE99-X00" , "0", "0" }
}
@@ -1,4 +0,0 @@
file TEST-SERVICE.template {
pattern { DEVICE }
{ AGEBD-TEST-SERVICE{{ agebd_env_suffix }} }
}
@@ -1,7 +1,7 @@
[project]
name = "agebd-test-service"
name = "agebd-testservice99-x00"
version = "0.1.0"
description = "AGEBD-TEST-SERVICE Service"
description = "AGEBD-TESTSERVICE99-X00 Service"
requires-python = "==3.10.*"
dependencies = [
"agebd",
@@ -3,8 +3,8 @@ import typer
from agebd.enums import LogLevel
from agebd.runner import CallbackRunner
from agebd.utils import init_logging
from agebd_test_service import PVs, Service
from agebd_test_service.service import SERVICE_NAME
from agebd_testservice99_x00 import PVs, Service
from agebd_testservice99_x00.service import SERVICE_NAME
def main(
@@ -9,14 +9,14 @@ from agebd.utils import printgetversion
__version__ = printgetversion(__file__)
SERVICE_NAME = "TEST-SERVICE"
SERVICE_NAME = "TESTSERVICE99-X00"
PV = get_pv_class(service_name=SERVICE_NAME)
class PVs(BasePVs):
# Option 1:
## Service specific PVs from dedicated IOC
my_pv1 = PV("AGEBD-TEST-SERVICE:AO") # TODO: is this a good PV to use?
my_pv1 = PV("AGEBD-TESTSERVICE99-X00:AO") # TODO: is this a good PV to use?
## Service specific PVs from other IOCs
# ...
@@ -32,14 +32,14 @@ class PVs(BasePVs):
# Option 2:
## Service specific PVs from dedicated IOC
self.my_pv2 = PV("AGEBD-TEST-SERVICE:BO") # TODO: is this a good PV to use?
self.my_pv2 = PV("AGEBD-TESTSERVICE99-X00:BO") # TODO: is this a good PV to use?
## Service specific PVs from other IOCs
# ...
# TODO: class attribute names usually lowercase
# usually it is advisable to trigger the mainloop of a service on changes of certain PVs:
self.CallbackPV = PV("AGEBD-TEST-SERVICE:CALLBACK", auto_monitor=dbr.DBE_VALUE)
self.CallbackPV = PV("AGEBD-TESTSERVICE99-X00:CALLBACK", auto_monitor=dbr.DBE_VALUE)
class Service(BaseService[PVs]):
@@ -1,4 +1,4 @@
from agebd_test_service import PVs, Service
from agebd_testservice99_x00 import PVs, Service
def test_app():
@@ -0,0 +1,4 @@
file TESTSERVICE99-X00.template {
pattern { DEVICE }
{ AGEBD-TESTSERVICE99-X00{{ agebd_env_suffix }} }
}
@@ -34,4 +34,4 @@ record(bo, "$(DEVICE):CALLBACK") {
field(OSV, "NO_ALARM")
field(VAL, "1")
field(PINI, "YES")
}
}
@@ -1,11 +1,11 @@
[Unit]
Description=AGEBD-SERVICE-TEST-SERVICE
Description=AGEBD-SERVICE-TESTSERVICE99-X00
After=network.target
[Service]
Environment=AGEBD_ENV={{ agebd_env }}
Environment=PYTHONUNBUFFERED=1
ExecStart=/sls/bd/hla/{{ agebd_env }}/bin/start_service.sh TEST-SERVICE
ExecStart=/sls/bd/hla/{{ agebd_env }}/bin/start_service.sh TESTSERVICE99-X00
Restart=no
[Install]
@@ -13,5 +13,5 @@ WantedBy=default.target
# https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html
# systemctl --user daemon-reload
# systemctl --user enable /sls/bd/bin/systemd/AGEBD-SERVICE-TEST-SERVICE.service
# systemctl --user start AGEBD-SERVICE-TEST-SERVICE
# systemctl --user enable /sls/bd/bin/systemd/AGEBD-SERVICE-TESTSERVICE99-X00.service
# systemctl --user start AGEBD-SERVICE-TESTSERVICE99-X00
@@ -1,5 +1,5 @@
next_available_ioc_port: 50001
services:
- name: master
- name: Master
ioc_port: 50000
status: active
+2 -3
View File
@@ -68,16 +68,15 @@ def test_add_new_service(tmp_path, mocker: MockerFixture):
creator = ServiceCreator(ctx=ctx, repo_manager=mocker.Mock(spec=GitRepoManager))
creator.add_service(
name="test-service",
name="TestService99-X00",
ioc_owner="test_user",
ioc_description="Test Description",
ui_name="Test Service Ui Name",
ui_filename="TestService",
)
assert_are_dir_trees_equal(tmp_path, EXPECTED_OUTPUT_DIR, tmp_path)
files_to_stage = ctx._write_paths.get_files_to_stage(service_dir_name="test-service")
files_to_stage = ctx._write_paths.get_files_to_stage(service_dir_name="testservice99-x00")
assert_all_files_staged(tmp_path, files_to_stage)