svgui/pyjs/jsonrpc/web2py/jsonrpc.py
author Edouard Tisserant <edouard.tisserant@gmail.com>
Fri, 16 Feb 2018 18:38:30 +0100
changeset 1941 cde74a39df51
parent 1881 091005ec69c4
permissions -rw-r--r--
Fixed Exception dialog disapearing after a view second when exception occurs during app startup.
Problem was caused by splashscreen timeout, wx closing averything else if there is no more main frame.
Changes:
- no more timeout for splashscreen
- use wx.App OnInit method to give first operation to mainloop, object are then now created in mainloop
- main loop is then created _before_ showing splash screen
- no more wxyield or wx processevent tricks needed to display splash screen
- exception handler not blocking anymore on dialog (callafter)
- because of mainloop being there before everything, exit must be called explicitely if exception caught during startup -> exit parameter in handle_exception + try/except around startup calls

UNTESTED ON WINDOWS
# pylint: disable=undefined-variable

from __future__ import absolute_import
from svgui.pyjs.jsonrpc.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