(parent, node)
| 47 | |
| 48 | |
| 49 | def _rdesc_from_node(parent, node): |
| 50 | results = node.get_attributes([ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName]) |
| 51 | nclass, qname, dname = [res.Value.Value for res in results] |
| 52 | |
| 53 | rdesc = ua.ReferenceDescription() |
| 54 | rdesc.NodeId = node.nodeid |
| 55 | rdesc.BrowseName = qname |
| 56 | rdesc.DisplayName = dname |
| 57 | rdesc.NodeClass = nclass |
| 58 | if parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): |
| 59 | rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) |
| 60 | else: |
| 61 | rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) |
| 62 | typedef = node.get_type_definition() |
| 63 | if typedef: |
| 64 | rdesc.TypeDefinition = typedef |
| 65 | return rdesc |
| 66 | |
| 67 | |
| 68 | def _read_and_copy_attrs(node_type, struct, addnode): |
no test coverage detected