Skip to content

Commit

Permalink
add default_idx parameter to QualifiedName
Browse files Browse the repository at this point in the history
  • Loading branch information
okapies committed Jul 28, 2023
1 parent d52db70 commit 340faee
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
4 changes: 2 additions & 2 deletions asyncua/ua/uatypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -683,15 +683,15 @@ def to_string(self):
return f"{self.NamespaceIndex}:{self.Name}"

@staticmethod
def from_string(string):
def from_string(string, default_idx=0):
if ":" in string:
try:
idx, name = string.split(":", 1)
idx = int(idx)
except (TypeError, ValueError) as ex:
raise UaStringParsingError(f"Error parsing string {string}", ex) from ex
else:
idx = 0
idx = default_idx
name = string
return QualifiedName(Name=name, NamespaceIndex=idx)

Expand Down
9 changes: 9 additions & 0 deletions tests/test_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,15 @@ def test_nodeid_string():
# nid1 = ua.StringNodeId(1, 2)


def test_qualifiedname_string():
qname1 = ua.QualifiedName.from_string("1:Name")
assert (1, "Name") == (qname1.NamespaceIndex, qname1.Name)
qname2 = ua.QualifiedName.from_string("Name")
assert (0, "Name") == (qname2.NamespaceIndex, qname2.Name)
qname3 = ua.QualifiedName.from_string("Name", default_idx=1)
assert (1, "Name") == (qname3.NamespaceIndex, qname3.Name)


def test_bad_string():
with pytest.raises(ua.UaStringParsingError):
ua.NodeId.from_string("ns=r;s=yu")
Expand Down

0 comments on commit 340faee

Please sign in to comment.