def __init__(self, appName): QApplication.__init__(self, sys.argv) if self._initialized: return qt4reactor.install() OTPApplication._appName = appName OTPApplication._nodeName = buildNodeName(self._appName, randomize=True) OTPApplication._process = twotp.Process(self._nodeName, self._cookie) QTimer.singleShot(0, self._startup) OTPApplication._initialized = True
def spawnErlangNode(cls, runApp, nodeName=None, randomize=False): if cls._erlProcess is not None: raise RuntimeError("spawning more than one Erlang node is not supported.") sname = buildNodeName(nodeName if nodeName else runApp, randomize) cls._nameServer = sname args = ["-config", "forse", "-noinput", "-pa", "ebin", "-setcookie", cls._cookie, "-sname", sname, "-run", runApp] cls._erlProcess = QProcess() cls._erlProcess.setProcessChannelMode(QProcess.ForwardedChannels) cls._erlProcess.start(cls._erlBinary, args, QProcess.ReadOnly) return cls._erlProcess.waitForStarted(10000)