def register_object(object, nsid, defaultnsgroup=_MARKER, daemonhost=None, nshost=None, use_pyrons=True): """expose the object as a pyro object and register it in the name-server if use_pyrons is False, then the object is exposed, but no attempt to register it to a pyro nameserver is made. return the pyro daemon object """ nsgroup, nsid = ns_group_and_id(nsid, defaultnsgroup) daemon = _get_daemon(daemonhost) if use_pyrons: nsd = locate_ns(nshost) # make sure our namespace group exists try: nsd.createGroup(nsgroup) except errors.NamingError: pass daemon.useNameServer(nsd) # use Delegation approach impl = core.ObjBase() impl.delegateTo(object) qnsid = '%s.%s' % (nsgroup, nsid) uri = daemon.connect(impl, qnsid) _PYRO_OBJS[qnsid] = str(uri) _LOGGER.info('registered %s a pyro object using group %s and id %s', object, nsgroup, nsid) return daemon
def register_object(object, nsid, defaultnsgroup=_MARKER, daemonhost=None, nshost=None): """expose the object as a pyro object and register it in the name-server return the pyro daemon object """ nsgroup, nsid = ns_group_and_id(nsid, defaultnsgroup) daemon = _get_daemon(daemonhost) nsd = locate_ns(nshost) # make sure our namespace group exists try: nsd.createGroup(nsgroup) except errors.NamingError: pass daemon.useNameServer(nsd) # use Delegation approach impl = core.ObjBase() impl.delegateTo(object) daemon.connect(impl, '%s.%s' % (nsgroup, nsid)) _LOGGER.info('registered %s a pyro object using group %s and id %s', object, nsgroup, nsid) return daemon