From 1671288b75a8692f423de9411489540ef5cca7cf Mon Sep 17 00:00:00 2001 From: olivier R-D Date: Sun, 8 Jan 2017 11:26:51 +0100 Subject: [PATCH] finish client implementation for custom structures --- opcua/client/client.py | 31 +- opcua/common/shortcuts.py | 1 + opcua/common/structures_generator.py | 43 ++- opcua/ua/uaprotocol_auto.py | 420 +++++++++++++-------------- schemas/generate_protocol_python.py | 2 +- tests/tests_unit.py | 22 +- 6 files changed, 279 insertions(+), 240 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 24b2098db..8f3016f17 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -551,21 +551,38 @@ def register_namespace(self, uri): ns_node.set_value(uries) return len(uries) - 1 - def import_structures(self, nodes=None): + def import_and_register_structures(self, nodes=None): """ Download xml from given variable node defining custom structures. - If no node is given, attemps to import variables from + If no no node is given, attemps to import variables from all nodes under + "0:OPC Binary" + the code is generated and imported on the fly. If you know the structures + are not going to be modified it is safer to copy the generated files + and include them in you code """ - if not nodes: + if nodes is None: nodes = [] - opc_bin = self.nodes.base_data_type.get_child("0:OPC Binary") - for desc in opc_bin.get_children_descriptions(): - if desc.BrowseName != ua.QualifiedName("opc.Ua"): + for desc in self.nodes.opc_binary.get_children_descriptions(): + if desc.BrowseName != ua.QualifiedName("Opc.Ua"): nodes.append(self.get_node(desc.NodeId)) + self.logger.info("Importing structures from nodes: %s", nodes) for node in nodes: xml = node.get_value() - gen = StructGenerator(xml, name) + xml = xml.decode("utf-8") + #with open("titi.xml", "w") as f: + #f.write(xml) + name = "structures_" + node.get_browse_name().Name + gen = StructGenerator() + gen.make_model_from_string(xml) + structs_dict = gen.save_and_import(name + ".py") + # register classes + for desc in node.get_children_descriptions(): + if desc.BrowseName.Name in structs_dict: + self.logger.info("registring new structure: %: %s", desc.NodeId, desc.BrowseName.Name) + ua.extension_object_classes[desc.NodeId] = structs_dict[desc.BrowseName.Name] + ua.extension_object_ids[desc.BrowseName.Name] = desc.NodeId + diff --git a/opcua/common/shortcuts.py b/opcua/common/shortcuts.py index 92b5d8213..501a908b1 100644 --- a/opcua/common/shortcuts.py +++ b/opcua/common/shortcuts.py @@ -24,3 +24,4 @@ def __init__(self, server): self.variable_types = Node(server, ObjectIds.VariableTypesFolder) self.object_types = Node(server, ObjectIds.ObjectTypesFolder) self.namespace_array = Node(server, ObjectIds.Server_NamespaceArray) + self.opc_binary = Node(server, ObjectIds.OPCBinarySchema_TypeSystem) diff --git a/opcua/common/structures_generator.py b/opcua/common/structures_generator.py index d654d21e7..21fd7d264 100644 --- a/opcua/common/structures_generator.py +++ b/opcua/common/structures_generator.py @@ -4,6 +4,9 @@ for custom structures """ +import os +import importlib + from lxml import objectify @@ -123,15 +126,19 @@ def __init__(self, name): class StructGenerator(object): - def __init__(self, path, output): - self.path = path - self.output = output + def __init__(self): self.model = [] - self._file = None - def _make_model(self): - obj = objectify.parse(self.path) + def make_model_from_string(self, xml): + obj = objectify.fromstring(xml) + self._make_model(obj) + + def make_model_from_file(self, path): + obj = objectify.parse(path) root = obj.getroot() + self._make_model(root) + + def _make_model(self, root): for child in root.iter("{*}StructuredType"): struct = Struct(child.get("Name")) array = False @@ -152,23 +159,29 @@ def _make_model(self): struct.fields.append(field) self.model.append(struct) - def run(self): - self._make_model() - self._file = open(self.output, "wt") - self._make_header() + def save_to_file(self, path): + _file = open(path, "wt") + self._make_header(_file) for struct in self.model: - self._file.write(struct.get_code()) - self._file.close() + _file.write(struct.get_code()) + _file.close() + + def save_and_import(self, path): + self.save_to_file(path) + name = os.path.basename(path) + name = os.path.splitext(name)[0] + mymodule = importlib.import_module(name) + mydict = {struct.name: getattr(mymodule, struct.name) for struct in self.model} + return mydict def get_structures(self): - self._make_model() ld = {} for struct in self.model: exec(struct.get_code(), ld) return ld - def _make_header(self): - self._file.write(""" + def _make_header(self, _file): + _file.write(""" ''' THIS FILE IS AUTOGENERATED, DO NOT EDIT!!! ''' diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index 064adfda1..4bdc8875d 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -16112,633 +16112,633 @@ def __str__(self): __repr__ = __str__ -nid = NodeId(ObjectIds.TrustListDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TrustListDataType_Encoding_DefaultBinary) extension_object_classes[nid] = TrustListDataType extension_object_ids['TrustListDataType'] = nid -nid = NodeId(ObjectIds.Argument_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.Argument_Encoding_DefaultBinary) extension_object_classes[nid] = Argument extension_object_ids['Argument'] = nid -nid = NodeId(ObjectIds.EnumValueType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EnumValueType_Encoding_DefaultBinary) extension_object_classes[nid] = EnumValueType extension_object_ids['EnumValueType'] = nid -nid = NodeId(ObjectIds.OptionSet_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.OptionSet_Encoding_DefaultBinary) extension_object_classes[nid] = OptionSet extension_object_ids['OptionSet'] = nid -nid = NodeId(ObjectIds.Union_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.Union_Encoding_DefaultBinary) extension_object_classes[nid] = Union extension_object_ids['Union'] = nid -nid = NodeId(ObjectIds.TimeZoneDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TimeZoneDataType_Encoding_DefaultBinary) extension_object_classes[nid] = TimeZoneDataType extension_object_ids['TimeZoneDataType'] = nid -nid = NodeId(ObjectIds.ApplicationDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ApplicationDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ApplicationDescription extension_object_ids['ApplicationDescription'] = nid -nid = NodeId(ObjectIds.RequestHeader_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RequestHeader_Encoding_DefaultBinary) extension_object_classes[nid] = RequestHeader extension_object_ids['RequestHeader'] = nid -nid = NodeId(ObjectIds.ResponseHeader_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ResponseHeader_Encoding_DefaultBinary) extension_object_classes[nid] = ResponseHeader extension_object_ids['ResponseHeader'] = nid -nid = NodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) extension_object_classes[nid] = ServiceFault extension_object_ids['ServiceFault'] = nid -nid = NodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersRequest extension_object_ids['FindServersRequest'] = nid -nid = NodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersResponse extension_object_ids['FindServersResponse'] = nid -nid = NodeId(ObjectIds.ServerOnNetwork_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ServerOnNetwork_Encoding_DefaultBinary) extension_object_classes[nid] = ServerOnNetwork extension_object_ids['ServerOnNetwork'] = nid -nid = NodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersOnNetworkRequest extension_object_ids['FindServersOnNetworkRequest'] = nid -nid = NodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersOnNetworkResponse extension_object_ids['FindServersOnNetworkResponse'] = nid -nid = NodeId(ObjectIds.UserTokenPolicy_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UserTokenPolicy_Encoding_DefaultBinary) extension_object_classes[nid] = UserTokenPolicy extension_object_ids['UserTokenPolicy'] = nid -nid = NodeId(ObjectIds.EndpointDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EndpointDescription_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointDescription extension_object_ids['EndpointDescription'] = nid -nid = NodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = GetEndpointsRequest extension_object_ids['GetEndpointsRequest'] = nid -nid = NodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = GetEndpointsResponse extension_object_ids['GetEndpointsResponse'] = nid -nid = NodeId(ObjectIds.RegisteredServer_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisteredServer_Encoding_DefaultBinary) extension_object_classes[nid] = RegisteredServer extension_object_ids['RegisteredServer'] = nid -nid = NodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServerRequest extension_object_ids['RegisterServerRequest'] = nid -nid = NodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServerResponse extension_object_ids['RegisterServerResponse'] = nid -nid = NodeId(ObjectIds.DiscoveryConfiguration_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DiscoveryConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = DiscoveryConfiguration extension_object_ids['DiscoveryConfiguration'] = nid -nid = NodeId(ObjectIds.MdnsDiscoveryConfiguration_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MdnsDiscoveryConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = MdnsDiscoveryConfiguration extension_object_ids['MdnsDiscoveryConfiguration'] = nid -nid = NodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServer2Request extension_object_ids['RegisterServer2Request'] = nid -nid = NodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterServer2Response extension_object_ids['RegisterServer2Response'] = nid -nid = NodeId(ObjectIds.ChannelSecurityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ChannelSecurityToken_Encoding_DefaultBinary) extension_object_classes[nid] = ChannelSecurityToken extension_object_ids['ChannelSecurityToken'] = nid -nid = NodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = OpenSecureChannelRequest extension_object_ids['OpenSecureChannelRequest'] = nid -nid = NodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = OpenSecureChannelResponse extension_object_ids['OpenSecureChannelResponse'] = nid -nid = NodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSecureChannelRequest extension_object_ids['CloseSecureChannelRequest'] = nid -nid = NodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSecureChannelResponse extension_object_ids['CloseSecureChannelResponse'] = nid -nid = NodeId(ObjectIds.SignedSoftwareCertificate_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SignedSoftwareCertificate_Encoding_DefaultBinary) extension_object_classes[nid] = SignedSoftwareCertificate extension_object_ids['SignedSoftwareCertificate'] = nid -nid = NodeId(ObjectIds.SignatureData_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SignatureData_Encoding_DefaultBinary) extension_object_classes[nid] = SignatureData extension_object_ids['SignatureData'] = nid -nid = NodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSessionRequest extension_object_ids['CreateSessionRequest'] = nid -nid = NodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSessionResponse extension_object_ids['CreateSessionResponse'] = nid -nid = NodeId(ObjectIds.UserIdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UserIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = UserIdentityToken extension_object_ids['UserIdentityToken'] = nid -nid = NodeId(ObjectIds.AnonymousIdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AnonymousIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = AnonymousIdentityToken extension_object_ids['AnonymousIdentityToken'] = nid -nid = NodeId(ObjectIds.UserNameIdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UserNameIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = UserNameIdentityToken extension_object_ids['UserNameIdentityToken'] = nid -nid = NodeId(ObjectIds.X509IdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.X509IdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = X509IdentityToken extension_object_ids['X509IdentityToken'] = nid -nid = NodeId(ObjectIds.KerberosIdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.KerberosIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = KerberosIdentityToken extension_object_ids['KerberosIdentityToken'] = nid -nid = NodeId(ObjectIds.IssuedIdentityToken_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.IssuedIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = IssuedIdentityToken extension_object_ids['IssuedIdentityToken'] = nid -nid = NodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ActivateSessionRequest extension_object_ids['ActivateSessionRequest'] = nid -nid = NodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ActivateSessionResponse extension_object_ids['ActivateSessionResponse'] = nid -nid = NodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSessionRequest extension_object_ids['CloseSessionRequest'] = nid -nid = NodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CloseSessionResponse extension_object_ids['CloseSessionResponse'] = nid -nid = NodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CancelRequest extension_object_ids['CancelRequest'] = nid -nid = NodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CancelResponse extension_object_ids['CancelResponse'] = nid -nid = NodeId(ObjectIds.NodeAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NodeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = NodeAttributes extension_object_ids['NodeAttributes'] = nid -nid = NodeId(ObjectIds.ObjectAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ObjectAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ObjectAttributes extension_object_ids['ObjectAttributes'] = nid -nid = NodeId(ObjectIds.VariableAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.VariableAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = VariableAttributes extension_object_ids['VariableAttributes'] = nid -nid = NodeId(ObjectIds.MethodAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MethodAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = MethodAttributes extension_object_ids['MethodAttributes'] = nid -nid = NodeId(ObjectIds.ObjectTypeAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ObjectTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ObjectTypeAttributes extension_object_ids['ObjectTypeAttributes'] = nid -nid = NodeId(ObjectIds.VariableTypeAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.VariableTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = VariableTypeAttributes extension_object_ids['VariableTypeAttributes'] = nid -nid = NodeId(ObjectIds.ReferenceTypeAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReferenceTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ReferenceTypeAttributes extension_object_ids['ReferenceTypeAttributes'] = nid -nid = NodeId(ObjectIds.DataTypeAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DataTypeAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = DataTypeAttributes extension_object_ids['DataTypeAttributes'] = nid -nid = NodeId(ObjectIds.ViewAttributes_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ViewAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ViewAttributes extension_object_ids['ViewAttributes'] = nid -nid = NodeId(ObjectIds.AddNodesItem_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddNodesItem_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesItem extension_object_ids['AddNodesItem'] = nid -nid = NodeId(ObjectIds.AddNodesResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddNodesResult_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesResult extension_object_ids['AddNodesResult'] = nid -nid = NodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesRequest extension_object_ids['AddNodesRequest'] = nid -nid = NodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesResponse extension_object_ids['AddNodesResponse'] = nid -nid = NodeId(ObjectIds.AddReferencesItem_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddReferencesItem_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesItem extension_object_ids['AddReferencesItem'] = nid -nid = NodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesRequest extension_object_ids['AddReferencesRequest'] = nid -nid = NodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = AddReferencesResponse extension_object_ids['AddReferencesResponse'] = nid -nid = NodeId(ObjectIds.DeleteNodesItem_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteNodesItem_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesItem extension_object_ids['DeleteNodesItem'] = nid -nid = NodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesRequest extension_object_ids['DeleteNodesRequest'] = nid -nid = NodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteNodesResponse extension_object_ids['DeleteNodesResponse'] = nid -nid = NodeId(ObjectIds.DeleteReferencesItem_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteReferencesItem_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesItem extension_object_ids['DeleteReferencesItem'] = nid -nid = NodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesRequest extension_object_ids['DeleteReferencesRequest'] = nid -nid = NodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteReferencesResponse extension_object_ids['DeleteReferencesResponse'] = nid -nid = NodeId(ObjectIds.ViewDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ViewDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ViewDescription extension_object_ids['ViewDescription'] = nid -nid = NodeId(ObjectIds.BrowseDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseDescription_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseDescription extension_object_ids['BrowseDescription'] = nid -nid = NodeId(ObjectIds.ReferenceDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReferenceDescription_Encoding_DefaultBinary) extension_object_classes[nid] = ReferenceDescription extension_object_ids['ReferenceDescription'] = nid -nid = NodeId(ObjectIds.BrowseResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseResult_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseResult extension_object_ids['BrowseResult'] = nid -nid = NodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseRequest extension_object_ids['BrowseRequest'] = nid -nid = NodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseResponse extension_object_ids['BrowseResponse'] = nid -nid = NodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseNextRequest extension_object_ids['BrowseNextRequest'] = nid -nid = NodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) extension_object_classes[nid] = BrowseNextResponse extension_object_ids['BrowseNextResponse'] = nid -nid = NodeId(ObjectIds.RelativePathElement_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RelativePathElement_Encoding_DefaultBinary) extension_object_classes[nid] = RelativePathElement extension_object_ids['RelativePathElement'] = nid -nid = NodeId(ObjectIds.RelativePath_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RelativePath_Encoding_DefaultBinary) extension_object_classes[nid] = RelativePath extension_object_ids['RelativePath'] = nid -nid = NodeId(ObjectIds.BrowsePath_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowsePath_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePath extension_object_ids['BrowsePath'] = nid -nid = NodeId(ObjectIds.BrowsePathTarget_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowsePathTarget_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePathTarget extension_object_ids['BrowsePathTarget'] = nid -nid = NodeId(ObjectIds.BrowsePathResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BrowsePathResult_Encoding_DefaultBinary) extension_object_classes[nid] = BrowsePathResult extension_object_ids['BrowsePathResult'] = nid -nid = NodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = TranslateBrowsePathsToNodeIdsRequest extension_object_ids['TranslateBrowsePathsToNodeIdsRequest'] = nid -nid = NodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = TranslateBrowsePathsToNodeIdsResponse extension_object_ids['TranslateBrowsePathsToNodeIdsResponse'] = nid -nid = NodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterNodesRequest extension_object_ids['RegisterNodesRequest'] = nid -nid = NodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RegisterNodesResponse extension_object_ids['RegisterNodesResponse'] = nid -nid = NodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) extension_object_classes[nid] = UnregisterNodesRequest extension_object_ids['UnregisterNodesRequest'] = nid -nid = NodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) extension_object_classes[nid] = UnregisterNodesResponse extension_object_ids['UnregisterNodesResponse'] = nid -nid = NodeId(ObjectIds.EndpointConfiguration_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EndpointConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointConfiguration extension_object_ids['EndpointConfiguration'] = nid -nid = NodeId(ObjectIds.SupportedProfile_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SupportedProfile_Encoding_DefaultBinary) extension_object_classes[nid] = SupportedProfile extension_object_ids['SupportedProfile'] = nid -nid = NodeId(ObjectIds.SoftwareCertificate_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SoftwareCertificate_Encoding_DefaultBinary) extension_object_classes[nid] = SoftwareCertificate extension_object_ids['SoftwareCertificate'] = nid -nid = NodeId(ObjectIds.QueryDataDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryDataDescription_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataDescription extension_object_ids['QueryDataDescription'] = nid -nid = NodeId(ObjectIds.NodeTypeDescription_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NodeTypeDescription_Encoding_DefaultBinary) extension_object_classes[nid] = NodeTypeDescription extension_object_ids['NodeTypeDescription'] = nid -nid = NodeId(ObjectIds.QueryDataSet_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryDataSet_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataSet extension_object_ids['QueryDataSet'] = nid -nid = NodeId(ObjectIds.NodeReference_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NodeReference_Encoding_DefaultBinary) extension_object_classes[nid] = NodeReference extension_object_ids['NodeReference'] = nid -nid = NodeId(ObjectIds.ContentFilterElement_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ContentFilterElement_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterElement extension_object_ids['ContentFilterElement'] = nid -nid = NodeId(ObjectIds.ContentFilter_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ContentFilter_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilter extension_object_ids['ContentFilter'] = nid -nid = NodeId(ObjectIds.ElementOperand_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ElementOperand_Encoding_DefaultBinary) extension_object_classes[nid] = ElementOperand extension_object_ids['ElementOperand'] = nid -nid = NodeId(ObjectIds.LiteralOperand_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.LiteralOperand_Encoding_DefaultBinary) extension_object_classes[nid] = LiteralOperand extension_object_ids['LiteralOperand'] = nid -nid = NodeId(ObjectIds.AttributeOperand_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AttributeOperand_Encoding_DefaultBinary) extension_object_classes[nid] = AttributeOperand extension_object_ids['AttributeOperand'] = nid -nid = NodeId(ObjectIds.SimpleAttributeOperand_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SimpleAttributeOperand_Encoding_DefaultBinary) extension_object_classes[nid] = SimpleAttributeOperand extension_object_ids['SimpleAttributeOperand'] = nid -nid = NodeId(ObjectIds.ContentFilterElementResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ContentFilterElementResult_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterElementResult extension_object_ids['ContentFilterElementResult'] = nid -nid = NodeId(ObjectIds.ContentFilterResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ContentFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = ContentFilterResult extension_object_ids['ContentFilterResult'] = nid -nid = NodeId(ObjectIds.ParsingResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ParsingResult_Encoding_DefaultBinary) extension_object_classes[nid] = ParsingResult extension_object_ids['ParsingResult'] = nid -nid = NodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) extension_object_classes[nid] = QueryFirstRequest extension_object_ids['QueryFirstRequest'] = nid -nid = NodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) extension_object_classes[nid] = QueryFirstResponse extension_object_ids['QueryFirstResponse'] = nid -nid = NodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) extension_object_classes[nid] = QueryNextRequest extension_object_ids['QueryNextRequest'] = nid -nid = NodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) extension_object_classes[nid] = QueryNextResponse extension_object_ids['QueryNextResponse'] = nid -nid = NodeId(ObjectIds.ReadValueId_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadValueId_Encoding_DefaultBinary) extension_object_classes[nid] = ReadValueId extension_object_ids['ReadValueId'] = nid -nid = NodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ReadRequest extension_object_ids['ReadRequest'] = nid -nid = NodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ReadResponse extension_object_ids['ReadResponse'] = nid -nid = NodeId(ObjectIds.HistoryReadValueId_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryReadValueId_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadValueId extension_object_ids['HistoryReadValueId'] = nid -nid = NodeId(ObjectIds.HistoryReadResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryReadResult_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadResult extension_object_ids['HistoryReadResult'] = nid -nid = NodeId(ObjectIds.HistoryReadDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryReadDetails_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadDetails extension_object_ids['HistoryReadDetails'] = nid -nid = NodeId(ObjectIds.ReadEventDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadEventDetails extension_object_ids['ReadEventDetails'] = nid -nid = NodeId(ObjectIds.ReadRawModifiedDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadRawModifiedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadRawModifiedDetails extension_object_ids['ReadRawModifiedDetails'] = nid -nid = NodeId(ObjectIds.ReadProcessedDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadProcessedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadProcessedDetails extension_object_ids['ReadProcessedDetails'] = nid -nid = NodeId(ObjectIds.ReadAtTimeDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ReadAtTimeDetails_Encoding_DefaultBinary) extension_object_classes[nid] = ReadAtTimeDetails extension_object_ids['ReadAtTimeDetails'] = nid -nid = NodeId(ObjectIds.HistoryData_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryData_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryData extension_object_ids['HistoryData'] = nid -nid = NodeId(ObjectIds.ModificationInfo_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModificationInfo_Encoding_DefaultBinary) extension_object_classes[nid] = ModificationInfo extension_object_ids['ModificationInfo'] = nid -nid = NodeId(ObjectIds.HistoryModifiedData_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryModifiedData_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryModifiedData extension_object_ids['HistoryModifiedData'] = nid -nid = NodeId(ObjectIds.HistoryEvent_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryEvent_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryEvent extension_object_ids['HistoryEvent'] = nid -nid = NodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadRequest extension_object_ids['HistoryReadRequest'] = nid -nid = NodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryReadResponse extension_object_ids['HistoryReadResponse'] = nid -nid = NodeId(ObjectIds.WriteValue_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.WriteValue_Encoding_DefaultBinary) extension_object_classes[nid] = WriteValue extension_object_ids['WriteValue'] = nid -nid = NodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) extension_object_classes[nid] = WriteRequest extension_object_ids['WriteRequest'] = nid -nid = NodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) extension_object_classes[nid] = WriteResponse extension_object_ids['WriteResponse'] = nid -nid = NodeId(ObjectIds.HistoryUpdateDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryUpdateDetails_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateDetails extension_object_ids['HistoryUpdateDetails'] = nid -nid = NodeId(ObjectIds.UpdateDataDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UpdateDataDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateDataDetails extension_object_ids['UpdateDataDetails'] = nid -nid = NodeId(ObjectIds.UpdateStructureDataDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UpdateStructureDataDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateStructureDataDetails extension_object_ids['UpdateStructureDataDetails'] = nid -nid = NodeId(ObjectIds.UpdateEventDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.UpdateEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = UpdateEventDetails extension_object_ids['UpdateEventDetails'] = nid -nid = NodeId(ObjectIds.DeleteRawModifiedDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteRawModifiedDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteRawModifiedDetails extension_object_ids['DeleteRawModifiedDetails'] = nid -nid = NodeId(ObjectIds.DeleteAtTimeDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteAtTimeDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteAtTimeDetails extension_object_ids['DeleteAtTimeDetails'] = nid -nid = NodeId(ObjectIds.DeleteEventDetails_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteEventDetails_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteEventDetails extension_object_ids['DeleteEventDetails'] = nid -nid = NodeId(ObjectIds.HistoryUpdateResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryUpdateResult_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateResult extension_object_ids['HistoryUpdateResult'] = nid -nid = NodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateRequest extension_object_ids['HistoryUpdateRequest'] = nid -nid = NodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryUpdateResponse extension_object_ids['HistoryUpdateResponse'] = nid -nid = NodeId(ObjectIds.CallMethodRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CallMethodRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CallMethodRequest extension_object_ids['CallMethodRequest'] = nid -nid = NodeId(ObjectIds.CallMethodResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CallMethodResult_Encoding_DefaultBinary) extension_object_classes[nid] = CallMethodResult extension_object_ids['CallMethodResult'] = nid -nid = NodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CallRequest extension_object_ids['CallRequest'] = nid -nid = NodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CallResponse extension_object_ids['CallResponse'] = nid -nid = NodeId(ObjectIds.MonitoringFilter_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoringFilter_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringFilter extension_object_ids['MonitoringFilter'] = nid -nid = NodeId(ObjectIds.DataChangeFilter_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DataChangeFilter_Encoding_DefaultBinary) extension_object_classes[nid] = DataChangeFilter extension_object_ids['DataChangeFilter'] = nid -nid = NodeId(ObjectIds.EventFilter_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EventFilter_Encoding_DefaultBinary) extension_object_classes[nid] = EventFilter extension_object_ids['EventFilter'] = nid -nid = NodeId(ObjectIds.AggregateConfiguration_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AggregateConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateConfiguration extension_object_ids['AggregateConfiguration'] = nid -nid = NodeId(ObjectIds.AggregateFilter_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AggregateFilter_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateFilter extension_object_ids['AggregateFilter'] = nid -nid = NodeId(ObjectIds.MonitoringFilterResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoringFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringFilterResult extension_object_ids['MonitoringFilterResult'] = nid -nid = NodeId(ObjectIds.EventFilterResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EventFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = EventFilterResult extension_object_ids['EventFilterResult'] = nid -nid = NodeId(ObjectIds.AggregateFilterResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AggregateFilterResult_Encoding_DefaultBinary) extension_object_classes[nid] = AggregateFilterResult extension_object_ids['AggregateFilterResult'] = nid -nid = NodeId(ObjectIds.MonitoringParameters_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoringParameters_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoringParameters extension_object_ids['MonitoringParameters'] = nid -nid = NodeId(ObjectIds.MonitoredItemCreateRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoredItemCreateRequest_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemCreateRequest extension_object_ids['MonitoredItemCreateRequest'] = nid -nid = NodeId(ObjectIds.MonitoredItemCreateResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoredItemCreateResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemCreateResult extension_object_ids['MonitoredItemCreateResult'] = nid -nid = NodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateMonitoredItemsRequest extension_object_ids['CreateMonitoredItemsRequest'] = nid -nid = NodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateMonitoredItemsResponse extension_object_ids['CreateMonitoredItemsResponse'] = nid -nid = NodeId(ObjectIds.MonitoredItemModifyRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoredItemModifyRequest_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemModifyRequest extension_object_ids['MonitoredItemModifyRequest'] = nid -nid = NodeId(ObjectIds.MonitoredItemModifyResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoredItemModifyResult_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemModifyResult extension_object_ids['MonitoredItemModifyResult'] = nid -nid = NodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ModifyMonitoredItemsRequest extension_object_ids['ModifyMonitoredItemsRequest'] = nid -nid = NodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ModifyMonitoredItemsResponse extension_object_ids['ModifyMonitoredItemsResponse'] = nid -nid = NodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetMonitoringModeRequest extension_object_ids['SetMonitoringModeRequest'] = nid -nid = NodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetMonitoringModeResponse extension_object_ids['SetMonitoringModeResponse'] = nid -nid = NodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetTriggeringRequest extension_object_ids['SetTriggeringRequest'] = nid -nid = NodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetTriggeringResponse extension_object_ids['SetTriggeringResponse'] = nid -nid = NodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteMonitoredItemsRequest extension_object_ids['DeleteMonitoredItemsRequest'] = nid -nid = NodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteMonitoredItemsResponse extension_object_ids['DeleteMonitoredItemsResponse'] = nid -nid = NodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSubscriptionRequest extension_object_ids['CreateSubscriptionRequest'] = nid -nid = NodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = CreateSubscriptionResponse extension_object_ids['CreateSubscriptionResponse'] = nid -nid = NodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) extension_object_classes[nid] = ModifySubscriptionRequest extension_object_ids['ModifySubscriptionRequest'] = nid -nid = NodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) extension_object_classes[nid] = ModifySubscriptionResponse extension_object_ids['ModifySubscriptionResponse'] = nid -nid = NodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) extension_object_classes[nid] = SetPublishingModeRequest extension_object_ids['SetPublishingModeRequest'] = nid -nid = NodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) extension_object_classes[nid] = SetPublishingModeResponse extension_object_ids['SetPublishingModeResponse'] = nid -nid = NodeId(ObjectIds.NotificationMessage_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NotificationMessage_Encoding_DefaultBinary) extension_object_classes[nid] = NotificationMessage extension_object_ids['NotificationMessage'] = nid -nid = NodeId(ObjectIds.NotificationData_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NotificationData_Encoding_DefaultBinary) extension_object_classes[nid] = NotificationData extension_object_ids['NotificationData'] = nid -nid = NodeId(ObjectIds.DataChangeNotification_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DataChangeNotification_Encoding_DefaultBinary) extension_object_classes[nid] = DataChangeNotification extension_object_ids['DataChangeNotification'] = nid -nid = NodeId(ObjectIds.MonitoredItemNotification_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.MonitoredItemNotification_Encoding_DefaultBinary) extension_object_classes[nid] = MonitoredItemNotification extension_object_ids['MonitoredItemNotification'] = nid -nid = NodeId(ObjectIds.EventNotificationList_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EventNotificationList_Encoding_DefaultBinary) extension_object_classes[nid] = EventNotificationList extension_object_ids['EventNotificationList'] = nid -nid = NodeId(ObjectIds.EventFieldList_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EventFieldList_Encoding_DefaultBinary) extension_object_classes[nid] = EventFieldList extension_object_ids['EventFieldList'] = nid -nid = NodeId(ObjectIds.HistoryEventFieldList_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.HistoryEventFieldList_Encoding_DefaultBinary) extension_object_classes[nid] = HistoryEventFieldList extension_object_ids['HistoryEventFieldList'] = nid -nid = NodeId(ObjectIds.StatusChangeNotification_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.StatusChangeNotification_Encoding_DefaultBinary) extension_object_classes[nid] = StatusChangeNotification extension_object_ids['StatusChangeNotification'] = nid -nid = NodeId(ObjectIds.SubscriptionAcknowledgement_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SubscriptionAcknowledgement_Encoding_DefaultBinary) extension_object_classes[nid] = SubscriptionAcknowledgement extension_object_ids['SubscriptionAcknowledgement'] = nid -nid = NodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) extension_object_classes[nid] = PublishRequest extension_object_ids['PublishRequest'] = nid -nid = NodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) extension_object_classes[nid] = PublishResponse extension_object_ids['PublishResponse'] = nid -nid = NodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) extension_object_classes[nid] = RepublishRequest extension_object_ids['RepublishRequest'] = nid -nid = NodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) extension_object_classes[nid] = RepublishResponse extension_object_ids['RepublishResponse'] = nid -nid = NodeId(ObjectIds.TransferResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TransferResult_Encoding_DefaultBinary) extension_object_classes[nid] = TransferResult extension_object_ids['TransferResult'] = nid -nid = NodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = TransferSubscriptionsRequest extension_object_ids['TransferSubscriptionsRequest'] = nid -nid = NodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = TransferSubscriptionsResponse extension_object_ids['TransferSubscriptionsResponse'] = nid -nid = NodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteSubscriptionsRequest extension_object_ids['DeleteSubscriptionsRequest'] = nid -nid = NodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) extension_object_classes[nid] = DeleteSubscriptionsResponse extension_object_ids['DeleteSubscriptionsResponse'] = nid -nid = NodeId(ObjectIds.BuildInfo_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.BuildInfo_Encoding_DefaultBinary) extension_object_classes[nid] = BuildInfo extension_object_ids['BuildInfo'] = nid -nid = NodeId(ObjectIds.RedundantServerDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.RedundantServerDataType_Encoding_DefaultBinary) extension_object_classes[nid] = RedundantServerDataType extension_object_ids['RedundantServerDataType'] = nid -nid = NodeId(ObjectIds.EndpointUrlListDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EndpointUrlListDataType_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointUrlListDataType extension_object_ids['EndpointUrlListDataType'] = nid -nid = NodeId(ObjectIds.NetworkGroupDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.NetworkGroupDataType_Encoding_DefaultBinary) extension_object_classes[nid] = NetworkGroupDataType extension_object_ids['NetworkGroupDataType'] = nid -nid = NodeId(ObjectIds.SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SamplingIntervalDiagnosticsDataType extension_object_ids['SamplingIntervalDiagnosticsDataType'] = nid -nid = NodeId(ObjectIds.ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServerDiagnosticsSummaryDataType extension_object_ids['ServerDiagnosticsSummaryDataType'] = nid -nid = NodeId(ObjectIds.ServerStatusDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ServerStatusDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServerStatusDataType extension_object_ids['ServerStatusDataType'] = nid -nid = NodeId(ObjectIds.SessionDiagnosticsDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SessionDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SessionDiagnosticsDataType extension_object_ids['SessionDiagnosticsDataType'] = nid -nid = NodeId(ObjectIds.SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SessionSecurityDiagnosticsDataType extension_object_ids['SessionSecurityDiagnosticsDataType'] = nid -nid = NodeId(ObjectIds.ServiceCounterDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ServiceCounterDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ServiceCounterDataType extension_object_ids['ServiceCounterDataType'] = nid -nid = NodeId(ObjectIds.StatusResult_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.StatusResult_Encoding_DefaultBinary) extension_object_classes[nid] = StatusResult extension_object_ids['StatusResult'] = nid -nid = NodeId(ObjectIds.SubscriptionDiagnosticsDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SubscriptionDiagnosticsDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SubscriptionDiagnosticsDataType extension_object_ids['SubscriptionDiagnosticsDataType'] = nid -nid = NodeId(ObjectIds.ModelChangeStructureDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ModelChangeStructureDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ModelChangeStructureDataType extension_object_ids['ModelChangeStructureDataType'] = nid -nid = NodeId(ObjectIds.SemanticChangeStructureDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.SemanticChangeStructureDataType_Encoding_DefaultBinary) extension_object_classes[nid] = SemanticChangeStructureDataType extension_object_ids['SemanticChangeStructureDataType'] = nid -nid = NodeId(ObjectIds.Range_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.Range_Encoding_DefaultBinary) extension_object_classes[nid] = Range extension_object_ids['Range'] = nid -nid = NodeId(ObjectIds.EUInformation_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.EUInformation_Encoding_DefaultBinary) extension_object_classes[nid] = EUInformation extension_object_ids['EUInformation'] = nid -nid = NodeId(ObjectIds.ComplexNumberType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ComplexNumberType_Encoding_DefaultBinary) extension_object_classes[nid] = ComplexNumberType extension_object_ids['ComplexNumberType'] = nid -nid = NodeId(ObjectIds.DoubleComplexNumberType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.DoubleComplexNumberType_Encoding_DefaultBinary) extension_object_classes[nid] = DoubleComplexNumberType extension_object_ids['DoubleComplexNumberType'] = nid -nid = NodeId(ObjectIds.AxisInformation_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.AxisInformation_Encoding_DefaultBinary) extension_object_classes[nid] = AxisInformation extension_object_ids['AxisInformation'] = nid -nid = NodeId(ObjectIds.XVType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.XVType_Encoding_DefaultBinary) extension_object_classes[nid] = XVType extension_object_ids['XVType'] = nid -nid = NodeId(ObjectIds.ProgramDiagnosticDataType_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.ProgramDiagnosticDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ProgramDiagnosticDataType extension_object_ids['ProgramDiagnosticDataType'] = nid -nid = NodeId(ObjectIds.Annotation_Encoding_DefaultBinary) +nid = FourByteNodeId(ObjectIds.Annotation_Encoding_DefaultBinary) extension_object_classes[nid] = Annotation extension_object_ids['Annotation'] = nid diff --git a/schemas/generate_protocol_python.py b/schemas/generate_protocol_python.py index b9103e7f3..b6884bfca 100644 --- a/schemas/generate_protocol_python.py +++ b/schemas/generate_protocol_python.py @@ -60,7 +60,7 @@ def run(self): if struct.name.endswith("Node") or struct.name.endswith("NodeId"): continue if "ExtensionObject" in struct.parents: - self.write("nid = NodeId(ObjectIds.{0}_Encoding_DefaultBinary)".format(struct.name)) + self.write("nid = FourByteNodeId(ObjectIds.{0}_Encoding_DefaultBinary)".format(struct.name)) self.write("extension_object_classes[nid] = {0}".format(struct.name)) self.write("extension_object_ids['{0}'] = nid".format(struct.name)) diff --git a/tests/tests_unit.py b/tests/tests_unit.py index a6bbdd014..beded9691 100755 --- a/tests/tests_unit.py +++ b/tests/tests_unit.py @@ -38,14 +38,21 @@ def test_variant_array_none(self): self.assertEqual(v, v2) self.assertTrue(v2.is_array) + def test_structs_save_and_import(self): + xmlpath = "tests/example.bsd" + c = StructGenerator() + c.make_model_from_file(xmlpath) + struct_dict = c.save_and_import("structures.py") + for k, v in struct_dict.items(): + a = v() + self.assertEqual(k, a.__class__.__name__) + def test_custom_structs(self): xmlpath = "tests/example.bsd" - c = StructGenerator(xmlpath, "structures.py") - c.run() + c = StructGenerator() + c.make_model_from_file(xmlpath) + c.save_to_file("structures.py") import structures as s - #from IPython import embed - #import sys - #embed() # test with default values v = s.ScalarValueDataType() @@ -89,8 +96,9 @@ def test_custom_structs(self): def test_custom_structs_array(self): xmlpath = "tests/example.bsd" - c = StructGenerator(xmlpath, "structures.py") - c.run() + c = StructGenerator() + c.make_model_from_file(xmlpath) + c.save_to_file("structures.py") import structures as s # test with default values