Skip to content

Commit edad64f

Browse files
committed
refactor: add sub controller in ControllerVector setitem
1 parent a339629 commit edad64f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/fastcs/controller.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,11 +230,10 @@ def __init__(
230230
description: str | None = None,
231231
ios: Sequence[AttributeIO[T, AttributeIORefT]] | None = None,
232232
) -> None:
233-
self._children: dict[int, Controller] = {}
234-
self.update(children)
235233
super().__init__(description=description, ios=ios)
234+
self._children: dict[int, Controller] = {}
236235
for index, child in children.items():
237-
super().add_sub_controller(str(index), child)
236+
self[index] = child
238237

239238
def add_sub_controller(
240239
self, name: str, sub_controller: Controller | ControllerVector
@@ -261,9 +260,10 @@ def __setitem__(self, key: int, value: Controller) -> None:
261260
msg = f"Expected Controller, got {value}"
262261
raise TypeError(msg)
263262
self._children[key] = value
263+
super().add_sub_controller(str(key), value)
264264

265265
def __delitem__(self, key: int) -> None:
266-
del self._children[key]
266+
raise NotImplementedError("Cannot delete sub controller from ControllerVector.")
267267

268268
def __iter__(self) -> Iterator[int]:
269269
yield from self._children

0 commit comments

Comments
 (0)