| @@ 534-545 (lines=12) @@ | ||
| 531 | await exp.build_etree(nodes) |
|
| 532 | await exp.write_xml(path) |
|
| 533 | ||
| 534 | async def register_namespace(self, uri): |
|
| 535 | """ |
|
| 536 | Register a new namespace. Nodes should in custom namespace, not 0. |
|
| 537 | This method is mainly implemented for symetry with server |
|
| 538 | """ |
|
| 539 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 540 | uries = await ns_node.read_value() |
|
| 541 | if uri in uries: |
|
| 542 | return uries.index(uri) |
|
| 543 | uries.append(uri) |
|
| 544 | await ns_node.write_value(uries) |
|
| 545 | return len(uries) - 1 |
|
| 546 | ||
| 547 | def load_type_definitions(self, nodes=None) -> Coroutine: |
|
| 548 | """ |
|
| @@ 426-436 (lines=11) @@ | ||
| 423 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 424 | return ns_node.read_value() |
|
| 425 | ||
| 426 | async def register_namespace(self, uri) -> int: |
|
| 427 | """ |
|
| 428 | Register a new namespace. Nodes should in custom namespace, not 0. |
|
| 429 | """ |
|
| 430 | ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) |
|
| 431 | uries = await ns_node.read_value() |
|
| 432 | if uri in uries: |
|
| 433 | return uries.index(uri) |
|
| 434 | uries.append(uri) |
|
| 435 | await ns_node.write_value(uries) |
|
| 436 | return len(uries) - 1 |
|
| 437 | ||
| 438 | async def get_namespace_index(self, uri): |
|
| 439 | """ |
|