svgui/pyjs/jsonrpc/web2py/jsonrpc.py
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Thu, 21 Sep 2017 17:19:18 +0300
changeset 1824 5765bea3dbd1
parent 1748 ba5f64fe0e00
child 1869 49cdd843c006
permissions -rw-r--r--
make it possible to update XSD schema in project controller after new
target PLC is added or removed.

For example:


...
import targets
targets.targets["PLC"] = {"xsd": os.path.join(self.customBeremizPath, "PLCtarget", xsd),
"class": lambda: PLC_target,
"code": {"plc_PLC_main.c": os.path.join(self.customBeremizPath, "PLCtarget", "plc_PLC_main.c")}
}

from ProjectController import ProjectController, GetProjectControllerXSD
ProjectController.XSD = GetProjectControllerXSD()
from pyjs.jsonrpc import JSONRPCServiceBase


class JSONRPCService(JSONRPCServiceBase):

    def serve(self):
        return self.process(request.body.read())

    def __call__(self, func):
        self.methods[func.__name__] = func
        return func