|
@@ -6,28 +6,35 @@ from pprint import pprint
|
|
|
from multiprocessing import Process, Pipe, freeze_support
|
|
|
|
|
|
sys.path.append('services/DEVS/pypdevs/src')
|
|
|
+sys.path.append('services/DEVS/pypdevs/examples')
|
|
|
|
|
|
from simulator import Controller
|
|
|
+from ps_model import Root
|
|
|
+
|
|
|
import threading, time
|
|
|
|
|
|
init(sys.argv[1])
|
|
|
login("pypdevs_service", "my_password")
|
|
|
|
|
|
def pypdevs_service(port):
|
|
|
- exec service_get(port) in globals()
|
|
|
+ try:
|
|
|
+ exec service_get(port) in globals()
|
|
|
+ except SyntaxError:
|
|
|
+ exec(service_get(port) in globals())
|
|
|
+
|
|
|
controller = Controller(Root())
|
|
|
|
|
|
def inputter():
|
|
|
- print "Waiting for input..."
|
|
|
+ print("Waiting for input...")
|
|
|
while 1:
|
|
|
try:
|
|
|
input = service_get(port)
|
|
|
- print 'raw input = %s' % input
|
|
|
+ print('raw input = %s' % input)
|
|
|
params = json.loads(input)
|
|
|
- print 'json parsed = %s' % params
|
|
|
+ print('json parsed = %s' % params)
|
|
|
if not isinstance(params, list):
|
|
|
params = [params]
|
|
|
- print "Sending input to simulator: %s" % params
|
|
|
+ print("Sending input to simulator: %s" % params)
|
|
|
if (len(params) > 1):
|
|
|
controller.addInput(Event(params[0], "request", params[1:]))
|
|
|
else:
|
|
@@ -41,10 +48,10 @@ def pypdevs_service(port):
|
|
|
|
|
|
output_listener = controller.addOutputListener(["reply"])
|
|
|
def outputter():
|
|
|
- print "Waiting for output..."
|
|
|
+ print("Waiting for output...")
|
|
|
while 1:
|
|
|
output_val = output_listener.fetch(-1)
|
|
|
- print "Got output from simulator: %s" % output_val
|
|
|
+ print("Got output from simulator: %s" % output_val)
|
|
|
service_set(port, json.dumps({"name": output_val.getName(), "port": output_val.getPort(), "params": output_val.getParameters()}))
|
|
|
output_thread = threading.Thread(target=outputter)
|
|
|
output_thread.daemon = True
|