(val, args)
| 161 | |
| 162 | |
| 163 | def _val_to_variant(val, args): |
| 164 | array = args.array |
| 165 | if args.datatype == "guess": |
| 166 | if val in ("true", "True", "false", "False"): |
| 167 | return _arg_to_variant(val, array, _arg_to_bool) |
| 168 | try: |
| 169 | return _arg_to_variant(val, array, int) |
| 170 | except ValueError: |
| 171 | try: |
| 172 | return _arg_to_variant(val, array, float) |
| 173 | except ValueError: |
| 174 | return _arg_to_variant(val, array, str) |
| 175 | elif args.datatype == "bool": |
| 176 | if val in ("1", "True", "true"): |
| 177 | return ua.Variant(True, ua.VariantType.Boolean) |
| 178 | else: |
| 179 | return ua.Variant(False, ua.VariantType.Boolean) |
| 180 | elif args.datatype == "sbyte": |
| 181 | return _arg_to_variant(val, array, int, ua.VariantType.SByte) |
| 182 | elif args.datatype == "byte": |
| 183 | return _arg_to_variant(val, array, int, ua.VariantType.Byte) |
| 184 | #elif args.datatype == "uint8": |
| 185 | #return _arg_to_variant(val, array, int, ua.VariantType.Byte) |
| 186 | elif args.datatype == "uint16": |
| 187 | return _arg_to_variant(val, array, int, ua.VariantType.UInt16) |
| 188 | elif args.datatype == "uint32": |
| 189 | return _arg_to_variant(val, array, int, ua.VariantType.UInt32) |
| 190 | elif args.datatype == "uint64": |
| 191 | return _arg_to_variant(val, array, int, ua.VariantType.UInt64) |
| 192 | #elif args.datatype == "int8": |
| 193 | #return ua.Variant(int(val), ua.VariantType.Int8) |
| 194 | elif args.datatype == "int16": |
| 195 | return _arg_to_variant(val, array, int, ua.VariantType.Int16) |
| 196 | elif args.datatype == "int32": |
| 197 | return _arg_to_variant(val, array, int, ua.VariantType.Int32) |
| 198 | elif args.datatype == "int64": |
| 199 | return _arg_to_variant(val, array, int, ua.VariantType.Int64) |
| 200 | elif args.datatype == "float": |
| 201 | return _arg_to_variant(val, array, float, ua.VariantType.Float) |
| 202 | elif args.datatype == "double": |
| 203 | return _arg_to_variant(val, array, float, ua.VariantType.Double) |
| 204 | elif args.datatype == "string": |
| 205 | return _arg_to_variant(val, array, str, ua.VariantType.String) |
| 206 | elif args.datatype == "datetime": |
| 207 | raise NotImplementedError |
| 208 | elif args.datatype == "Guid": |
| 209 | return _arg_to_variant(val, array, bytes, ua.VariantType.Guid) |
| 210 | elif args.datatype == "ByteString": |
| 211 | return _arg_to_variant(val, array, bytes, ua.VariantType.ByteString) |
| 212 | elif args.datatype == "xml": |
| 213 | return _arg_to_variant(val, array, str, ua.VariantType.XmlElement) |
| 214 | elif args.datatype == "nodeid": |
| 215 | return _arg_to_variant(val, array, ua.NodeId.from_string, ua.VariantType.NodeId) |
| 216 | elif args.datatype == "expandednodeid": |
| 217 | return _arg_to_variant(val, array, ua.ExpandedNodeId.from_string, ua.VariantType.ExpandedNodeId) |
| 218 | elif args.datatype == "statuscode": |
| 219 | return _arg_to_variant(val, array, int, ua.VariantType.StatusCode) |
| 220 | elif args.datatype in ("qualifiedname", "browsename"): |
no test coverage detected