brn: fix parsing offsets when coming from string

This commit is contained in:
Iain Learmonth 2022-06-22 16:30:34 +01:00
parent 58028e3629
commit 16c1d26e3b

View file

@ -28,10 +28,10 @@ class BRN:
def from_str(cls, s: str) -> BRN:
parts = s.split(":")
if len(parts) != 6 or parts[0].lower() != "brn" or not is_integer(parts[2]):
raise TypeError(f"Expected a valid BRN but got {repr(s)}.")
resource_parts = parts[4].split("/")
if len(resource_parts) != 5:
raise TypeError(f"Expected a valid BRN but got {repr(s)}.")
raise TypeError(f"Expected a valid BRN but got {repr(s)} (invalid parts).")
resource_parts = parts[5].split("/")
if len(resource_parts) != 2:
raise TypeError(f"Expected a valid BRN but got {repr(s)} (invalid resource parts).")
return cls(
global_namespace=parts[1],
group_id=int(parts[2]),