class ServerC(object): def __init__(self): self._server = None self._client = None self.nodes = None self.get_node = None self.get_namespace_array = None def start_server(self, endpoint): self._server = UAServer() self._server.endpoint = 48400 # enpoint not supported yet #self._server.endpoint = endpoint self._server.start() #self._server.set_server_name("OpcUa Modeler Server") time.sleep(0.2) self._client = Client(endpoint) self._client.connect() self.nodes = self._client.nodes self.get_node = self._client.get_node self.get_namespace_array = self._client.get_namespace_array # now remove freeopcua namespace, not necessary when modeling and # ensures correct idx for exported nodesets ns_node = self._client.get_node( ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) nss = ns_node.get_value() #ns_node.set_value(nss[1:]) def stop_server(self): if self._server is not None: self._client.disconnect() self._client = None self._server.stop() time.sleep(0.2) self._server = None self.get_node = None self.get_namespace_array = None def import_xml(self, path): return self._client.import_xml(path) def export_xml(self, nodes, uris, path): exp = XmlExporter(self._client) exp.build_etree(nodes, uris=uris) exp.write_xml(path)
class ServerC(object): def __init__(self): self._server = None self._client = None self.nodes = None self.get_node = None self.get_namespace_array = None def start_server(self, endpoint): self._server = UAServer() self._server.endpoint = 48400 # enpoint not supported yet #self._server.endpoint = endpoint self._server.start() #self._server.set_server_name("OpcUa Modeler Server") time.sleep(0.2) self._client = Client(endpoint) self._client.connect() self.nodes = self._client.nodes self.get_node = self._client.get_node self.get_namespace_array = self._client.get_namespace_array # now remove freeopcua namespace, not necessary when modeling and # ensures correct idx for exported nodesets ns_node = self._client.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) nss = ns_node.get_value() #ns_node.set_value(nss[1:]) def stop_server(self): if self._server is not None: self._client.disconnect() self._client = None self._server.stop() time.sleep(0.2) self._server = None self.get_node = None self.get_namespace_array = None def import_xml(self, path): return self._client.import_xml(path) def export_xml(self, nodes, uris, path): exp = XmlExporter(self._client) exp.build_etree(nodes, uris=uris) exp.write_xml(path)