from sccd.runtime.statecharts_core import Event import sccd.runtime.socket2event as socket2event import modelverse_SCCD controller = modelverse_SCCD.Controller() socket2event.boot_translation_service(controller) ID = 0 def run_controller(): try: controller.start() finally: controller.stop() if __name__ == "__main__": import threading thrd = threading.Thread(target=run_controller) thrd.daemon = True thrd.start() responses = controller.addOutputListener("action_out") controller.addOutputListener("ready").fetch(-1) def _next_ID(): global ID ID += 1 return ID def INPUT(action, context, parameters): controller.addInput(Event("action", "action_in", [action, _next_ID(), context, parameters])) def OUTPUT(): response = responses.fetch(-1) return response.parameters[1] def init(address_param="127.0.0.1:8001", timeout=20.0): INPUT("init", None, [address_param, timeout]) return OUTPUT() def login(username, password): INPUT("login", None, [username, password]) return OUTPUT() def model_list(location): INPUT("model_list", None, [location]) return OUTPUT() init() login("admin", "admin") print(model_list(""))