Skip to content
Snippets Groups Projects
Commit 56aaae6e authored by Susanna Weber's avatar Susanna Weber
Browse files

event progress

parent a77cda98
No related branches found
No related tags found
No related merge requests found
......@@ -233,6 +233,18 @@ def getInterfaceparam(list1, interface, searched, jsoncomponents, searchinglist)
return list1
def getEvents(list1, component, jsoncomponents):
for event in component["events"]:
list1.append(event)
if iskeythere(list(component.keys()), "baseComponent"):
for search in jsoncomponents:
if search["uuid"] == component["baseComponent"]:
return getEvents(list1, search, jsoncomponents)
else:
return list1
def buildComponents(interfacesreturn, jsoninterfaces, jsoncomponents, jsonmeasurements, jsonparameters, jsonfunctions, objcomponentsclone):
for obj in jsoninterfaces:
rootobj = {}
......@@ -261,33 +273,37 @@ def buildComponents(interfacesreturn, jsoninterfaces, jsoncomponents, jsonmeasur
return interfacesreturn
def instantiateComponents(typesdict, interfaces, jsoncomponents, headnode, instantiatedict):
def instantiateComponents(typesdict, interfaces, jsoncomponents, headnode, instantiatedict, eventsdict):
count = 0
countcomponent = 0
for interface in interfaces:
root = interface
events = getEvents([], root, jsoncomponents)
components = getInterfaceparam([], root, "components", jsoncomponents, jsoncomponents)
if interface["name"] in list(instantiatedict.keys()):
count += 1
instantiatedict[str(interface["name"])] = wf.writeobjects(typesdict[str(interface["name"])], interface["name"], instantiatedict[str(headnode["name"])], count)
eventsdict[str(instantiatedict[str(interface["name"])])] = events
if len(components) > 0:
instantiateComponents(typesdict,components , jsoncomponents, interface, instantiatedict)
instantiateComponents(typesdict,components , jsoncomponents, interface, instantiatedict, eventsdict)
return instantiatedict
return instantiatedict, eventsdict
def instantiate(typesdict, interfaces, jsoncomponents):
instantiatedict = {}
eventsdict = {}
for interface in interfaces:
root = {}
count = 0
for component in jsoncomponents:
if interface["rootComponent"] == component["uuid"]:
root = component
events = getEvents([], root, jsoncomponents)
components = getInterfaceparam([], root, "components", jsoncomponents, jsoncomponents)
#events = getInterfaceparam([], root, "events", jsoncomponents, jsonevents)
instantiatedict[str(interface["name"])] = wf.writeinterface(typesdict[str(interface["name"])], interface["name"], count)
instantiateComponents(typesdict, components, jsoncomponents, interface, instantiatedict)
eventsdict[str(instantiatedict[str(interface["name"])])] = events
return instantiateComponents(typesdict, components, jsoncomponents, interface, instantiatedict, eventsdict)
def main():
......@@ -327,7 +343,10 @@ def main():
elif obj["elementType"] == "enum":
jsonenums.append(obj)
typesdict = buildComponents({}, jsoninterfaces, jsoncomponents, jsonmeasurements, jsonparameters, jsonfunctions, [])
intantiateddict = instantiate(typesdict, jsoninterfaces, jsoncomponents)
returnval = instantiate(typesdict, jsoninterfaces, jsoncomponents)
instantiatedict = returnval[0]
eventsdict = returnval[1]
print(eventsdict)
wf.writend()
......
......@@ -199,13 +199,28 @@ def writeinterface(objtype, objname, count):
server.write(writeindent + objtypename + "= await server.nodes.objects.add_object(idx, \"" + objname + "\", " + objtype + ".nodeid)\n")
return objtypename
def writend():
def writeevents(events, component):
server = open("opcua-server.py", "a")
server.write(")
def writendpt1():
server = open("opcua-server.py", "a")
server.write("""
async with server:
print("Server is running!")
count = 0
while True:
""")
def writendpt2():
server = open("opcua-server.py", "a")
server.write("""
await asyncio.sleep(1)
if __name__ == '__main__':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment