Skip to content

Commit 480bab8

Browse files
committed
refactor: remove duplicate pvi tree layer for p4p
1 parent c8a6c0a commit 480bab8

File tree

1 file changed

+3
-18
lines changed

1 file changed

+3
-18
lines changed

src/fastcs/transport/epics/pva/pvi_tree.py

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,9 @@ def _make_p4p_raw_value(self) -> dict:
8484
is_controller = stripped_leaf != pv_leaf
8585
pvi_name, number = _pv_to_pvi_name(stripped_leaf or pv_leaf)
8686
if is_controller and number is not None and not pvi_name:
87-
pattern = rf"(?:(?<=:)|^)([^:]+)(?=:{re.escape(str(number))}(?:[:]|$))"
88-
match = re.search(pattern, signal_info.pv)
89-
90-
if not match:
91-
raise RuntimeError(
92-
"Failed to extract parent SubControllerVector name "
93-
f"from Subcontroller pv {signal_info.pv}"
94-
)
95-
if (
96-
signal_info.access
97-
not in p4p_raw_value[_pascal_to_snake(match.group(1))]
98-
):
99-
p4p_raw_value[_pascal_to_snake(match.group(1))][
100-
signal_info.access
101-
] = {}
102-
p4p_raw_value[_pascal_to_snake(match.group(1))][signal_info.access][
103-
f"v{number}"
104-
] = signal_info.pv
87+
if signal_info.access not in p4p_raw_value[f"v{number}"]:
88+
p4p_raw_value[f"v{number}"][signal_info.access] = {}
89+
p4p_raw_value[f"v{number}"][signal_info.access] = signal_info.pv
10590
elif is_controller:
10691
p4p_raw_value[_pascal_to_snake(stripped_leaf)][signal_info.access] = (
10792
signal_info.pv

0 commit comments

Comments
 (0)