Skip to content

Commit 9076048

Browse files
committed
Use pattern matching to do the WHPName lookup in __getitem__ of the _WHPNames object
1 parent 4a0414b commit 9076048

3 files changed

Lines changed: 19 additions & 2 deletions

File tree

CHANGELOG

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
v2025.??.0 (2026-??-??)
1+
v2026.??.0 (2026-??-??)
22
=======================
33
Parameter Changes
44
-----------------
@@ -10,6 +10,7 @@ API Changes
1010
* (Potentially Breaking) Rise a `ValueError` when attempting to coerce a parameter into an error name when an error name it not defined for it
1111
* Add typing to WHPNames and CFStandardNames objects
1212
* Drop python 3.11 support (SPEC 0)
13+
* Use pattern matching to do the WHPName lookup in `__getitem__` of the `_WHPNames` object
1314

1415
v2025.10.0 (2025-10-31)
1516
=======================

src/cchdo/params/__init__.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,22 @@ def __getitem__(self, key: WHPNameKey | WHPName) -> WHPName:
201201
error = False
202202
(name, unit), flag = normalize_whp_name_key(key)
203203

204+
match key:
205+
case str(matched):
206+
name, flag = flag_name(matched)
207+
name, unit = normalize_odv_name(name, return_parts=True)
208+
case tuple((str(name),)):
209+
name = name
210+
case tuple((str(name), str(unit))):
211+
name = name
212+
unit = unit
213+
case tuple((str(name), None)):
214+
name = name
215+
case WHPName() as key:
216+
name, unit = key.full_whp_name, key.whp_unit
217+
case _ as err:
218+
raise KeyError(f"whpname keys must be str or a tuple, found {err}")
219+
204220
alias_key = None
205221
if (name, unit) in self._aliases:
206222
alias_key = (name, unit)

src/cchdo/params/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def as_base(self) -> "WHPName":
141141
return replace(self, flag_col=False, error_col=False, alt_depth=0)
142142

143143
@property
144-
def full_whp_name(self):
144+
def full_whp_name(self) -> str:
145145
if self.alt_depth > 0:
146146
return f"{self.whp_name}_ALT_{self.alt_depth}"
147147
else:

0 commit comments

Comments
 (0)