IPC.py

#
from JAK.Utils import Instance
#
  • Usage: from JAK import IPC
  • Create your own class and point to this one: IPC.Bind = MyOverrride
class Bind:
#
  • Do something with the data.
  • :param data:
  • :return: url output
    @staticmethod
    def listen(data):
#
        raise NotImplementedError()
#

Call python methods from JavaScript.

class Communication:
#
    @staticmethod
    def activate(url) -> None:
        url = url.split(':')[1]
        if url.endswith("()"):
            try:
                view = Instance.retrieve("view")
#

FIXME This won’t allow to pass arguments to the method

                method = Bind.__dict__[url.replace("()", "")]
                method(view)
            except KeyError as error:
                print(error)

            except NameError as error:
                print(error)

        else:
            Bind.listen(url)