def run(self): PyroUtils.setHostname() daemon = Pyro4.Daemon() self.uri = daemon.register(self) self.started.set() atexit.register(lambda: daemon.shutdown()) daemon.requestLoop()
def startServing(self): PyroUtils.setHostname() ns = Pyro4.locateNS() uri = self.daemon.register(self) if hasattr(self, "controllerID"): name = self.pyroName + "." + self.controllerID else: name = self.pyroName logging.info("Registering controller as " + name) ns.register(name, uri) atexit.register(lambda: self.daemon.shutdown()) self.daemon.requestLoop()
def __init__(self): self.devices = {} self.proxies = {} self.sequencer = Sequencer(self) self.sequencer.start() self.logHandler = ControllerLogHandler() logging.getLogger().addHandler(self.logHandler) self.clients = [] self.slaves = [] self.daemon = Pyro4.Daemon(PyroUtils.getHostname())
def testSetHostnameFromEnvironment(self, Pyro4, os): os.environ.get = MagicMock(return_value='myfakehostname') PyroUtils.setHostname() os.environ.get.assert_called_once_with('PYRO_IP', False) self.assertEqual("myfakehostname", Pyro4.config.HOST)
def testSetHostnameFromShell(self, Pyro4, os, subprocess): os.environ.get = MagicMock(return_value=False) subprocess.check_output = MagicMock(return_value='myfakehostname') PyroUtils.setHostname() subprocess.check_output.assert_called_once_with(['hostname', '-I']) self.assertEqual("myfakehostname", Pyro4.config.HOST)