mirror of
https://github.com/FreeOpcUa/opcua-asyncio
synced 2025-10-29 17:07:18 +08:00
45 lines
2.1 KiB
Python
45 lines
2.1 KiB
Python
|
|
import os.path
|
|
|
|
import opcua
|
|
|
|
from opcua.server.standard_address_space.standard_address_space_part3 import create_standard_address_space_Part3
|
|
from opcua.server.standard_address_space.standard_address_space_part4 import create_standard_address_space_Part4
|
|
from opcua.server.standard_address_space.standard_address_space_part5 import create_standard_address_space_Part5
|
|
from opcua.server.standard_address_space.standard_address_space_part8 import create_standard_address_space_Part8
|
|
from opcua.server.standard_address_space.standard_address_space_part9 import create_standard_address_space_Part9
|
|
from opcua.server.standard_address_space.standard_address_space_part10 import create_standard_address_space_Part10
|
|
from opcua.server.standard_address_space.standard_address_space_part11 import create_standard_address_space_Part11
|
|
from opcua.server.standard_address_space.standard_address_space_part13 import create_standard_address_space_Part13
|
|
|
|
class PostponeReferences(object):
|
|
def __init__(self, server):
|
|
self.server = server
|
|
self.postponed = None
|
|
self.add_nodes = self.server.add_nodes
|
|
|
|
def add_references(self, refs):
|
|
self.postponed.extend(self.server.try_add_references(refs))
|
|
# no return
|
|
|
|
def __enter__(self):
|
|
self.postponed = []
|
|
return self
|
|
|
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
if exc_type is None and exc_val is None:
|
|
remaining = list(self.server.try_add_references(self.postponed))
|
|
assert len(remaining) == 0, remaining
|
|
|
|
def fill_address_space(nodeservice):
|
|
with PostponeReferences(nodeservice) as server:
|
|
create_standard_address_space_Part3(server)
|
|
create_standard_address_space_Part4(server)
|
|
create_standard_address_space_Part5(server)
|
|
create_standard_address_space_Part8(server)
|
|
create_standard_address_space_Part9(server)
|
|
create_standard_address_space_Part10(server)
|
|
create_standard_address_space_Part11(server)
|
|
create_standard_address_space_Part13(server)
|
|
assert len(server.postponed) == 1370, len(server.postponed)
|