|
@@ 113-130 (lines=18) @@
|
| 110 |
|
self.server.add_nodes([node]) |
| 111 |
|
self._add_refs(obj) |
| 112 |
|
|
| 113 |
|
def _add_variable_value(self, obj): |
| 114 |
|
""" |
| 115 |
|
Returns the value for a Variable based on the objects valuetype. |
| 116 |
|
""" |
| 117 |
|
if obj.valuetype == 'ListOfLocalizedText': |
| 118 |
|
return ua.Variant([ua.LocalizedText(txt) for txt in obj.value], None) |
| 119 |
|
elif obj.valuetype == 'EnumValueType': |
| 120 |
|
values = [] |
| 121 |
|
for ev in obj.value: |
| 122 |
|
enum_value = ua.EnumValueType() |
| 123 |
|
enum_value.DisplayName = ua.LocalizedText(ev['DisplayName']) |
| 124 |
|
enum_value.Description = ua.LocalizedText(ev['Description']) |
| 125 |
|
enum_value.Value = int(ev['Value']) |
| 126 |
|
values.append(enum_value) |
| 127 |
|
return values |
| 128 |
|
elif obj.valuetype == 'Argument': |
| 129 |
|
values = [] |
| 130 |
|
for arg in obj.value: |
| 131 |
|
argument = ua.Argument() |
| 132 |
|
argument.Name = arg['Name'] |
| 133 |
|
argument.Description = ua.LocalizedText(arg['Description']) |
|
@@ 132-148 (lines=17) @@
|
| 129 |
|
values = [] |
| 130 |
|
for arg in obj.value: |
| 131 |
|
argument = ua.Argument() |
| 132 |
|
argument.Name = arg['Name'] |
| 133 |
|
argument.Description = ua.LocalizedText(arg['Description']) |
| 134 |
|
argument.DataType = self.to_nodeid(arg['DataType']) |
| 135 |
|
argument.ValueRank = int(arg['ValueRank']) |
| 136 |
|
argument.ArrayDimensions = arg['ArrayDimensions'] |
| 137 |
|
values.append(argument) |
| 138 |
|
return values |
| 139 |
|
|
| 140 |
|
return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype)) |
| 141 |
|
|
| 142 |
|
|
| 143 |
|
def add_variable_type(self, obj): |
| 144 |
|
node = self._get_node(obj) |
| 145 |
|
attrs = ua.VariableTypeAttributes() |
| 146 |
|
if obj.desc: |
| 147 |
|
attrs.Description = ua.LocalizedText(obj.desc) |
| 148 |
|
attrs.DisplayName = ua.LocalizedText(obj.displayname) |
| 149 |
|
attrs.DataType = self.to_nodeid(obj.datatype) |
| 150 |
|
if obj.value and len(obj.value) == 1: |
| 151 |
|
attrs.Value = obj.value[0] |