|
@@ 100-118 (lines=19) @@
|
| 97 |
|
) |
| 98 |
|
|
| 99 |
|
|
| 100 |
|
async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): |
| 101 |
|
""" |
| 102 |
|
create a child node variable |
| 103 |
|
args are nodeid, browsename, value, [variant type], [data type] |
| 104 |
|
or idx, name, value, [variant type], [data type] |
| 105 |
|
""" |
| 106 |
|
status = _check_browsename_exist(parent, bname) |
| 107 |
|
if status is not None: |
| 108 |
|
return status |
| 109 |
|
nodeid, qname = _parse_nodeid_qname(nodeid, bname) |
| 110 |
|
var = ua.Variant(val, varianttype) |
| 111 |
|
if datatype and isinstance(datatype, int): |
| 112 |
|
datatype = ua.NodeId(datatype, 0) |
| 113 |
|
if datatype and not isinstance(datatype, ua.NodeId): |
| 114 |
|
raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") |
| 115 |
|
|
| 116 |
|
return make_node( |
| 117 |
|
parent.server, |
| 118 |
|
await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False) |
| 119 |
|
) |
| 120 |
|
|
| 121 |
|
|
|
@@ 79-96 (lines=18) @@
|
| 76 |
|
) |
| 77 |
|
|
| 78 |
|
|
| 79 |
|
async def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): |
| 80 |
|
""" |
| 81 |
|
create a child node property |
| 82 |
|
args are nodeid, browsename, value, [variant type] |
| 83 |
|
or idx, name, value, [variant type] |
| 84 |
|
""" |
| 85 |
|
status = _check_browsename_exist(parent, bname) |
| 86 |
|
if status is not None: |
| 87 |
|
return status |
| 88 |
|
nodeid, qname = _parse_nodeid_qname(nodeid, bname) |
| 89 |
|
var = ua.Variant(val, varianttype) |
| 90 |
|
if datatype and isinstance(datatype, int): |
| 91 |
|
datatype = ua.NodeId(datatype, 0) |
| 92 |
|
if datatype and not isinstance(datatype, ua.NodeId): |
| 93 |
|
raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") |
| 94 |
|
return make_node( |
| 95 |
|
parent.server, |
| 96 |
|
await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True) |
| 97 |
|
) |
| 98 |
|
|
| 99 |
|
|