make better use of pattern matching features

error test updated
This commit is contained in:
onyx-and-iris 2023-08-10 16:24:30 +01:00
parent 8c220eb491
commit 65fb8990c9
2 changed files with 6 additions and 10 deletions

View File

@ -43,5 +43,5 @@ class TestErrors:
"unknown-0": {"state": True},
"vban-out-1": {"name": "streamname"},
}
with pytest.raises(ValueError, match="invalid config key 'unknown'"):
with pytest.raises(ValueError, match="invalid config key 'unknown-0'"):
vm.apply(CONFIG)

View File

@ -300,17 +300,13 @@ class Remote(CBindings):
"""
def target(key):
kls, m2, *rem = key.split("-")
match kls:
case "strip" | "bus" | "button":
index = m2
match key.split("-"):
case ["strip" | "bus" | "button" as kls, index]:
target = getattr(self, kls)
case "vban":
dir = f"{m2.rstrip('stream')}stream"
index = rem[0]
target = getattr(self.vban, dir)
case ["vban", direction, index]:
target = getattr(self.vban, f"{direction.rstrip('stream')}stream")
case _:
ERR_MSG = f"invalid config key '{kls}'"
ERR_MSG = f"invalid config key '{key}'"
self.logger.error(ERR_MSG)
raise ValueError(ERR_MSG)
return target[int(index)]