Ejemplo n.º 1
0
 def setup(self, configFile):
     reader = ConfigReader(_defaults)
     try:
         reader.parse(configFile)
     except EnvironmentError, x:
         raise PyroError("Error reading config file: " + configFile + "; " +
                         str(x))
Ejemplo n.º 2
0
 def __init__(self, host=None, port=None):
     if Pyro.config.DOTTEDNAMES:
         raise PyroError(
             "Name server won't start with DOTTEDNAMES enabled because of security reasons"
         )
     if host is None:
         host = Pyro.config.HOST
     if port is None:
         port = Pyro.config.NS_PORT
     super(NameServerDaemon, self).__init__(host, port)
     self.nameserver = NameServer()
     self.register(self.nameserver, Pyro.constants.NAMESERVER_NAME)
     self.nameserver.register(Pyro.constants.NAMESERVER_NAME,
                              self.uriFor(self.nameserver))
     log.info("nameserver daemon created")
Ejemplo n.º 3
0
def resolve(uri):
    """Resolve a 'magic' uri (PYRONAME) into the direct PYRO uri."""
    if isinstance(uri, basestring):
        uri = Pyro.core.URI(uri)
    elif not isinstance(uri, Pyro.core.URI):
        raise TypeError("can only resolve Pyro URIs")
    if uri.protocol == "PYRO":
        return uri
    log.debug("resolving %s", uri)
    if uri.protocol == "PYRONAME":
        nameserver = locateNS(uri.host, uri.port)
        uri = nameserver.lookup(uri.object)
        nameserver._pyroRelease()
        return uri
    else:
        raise PyroError("invalid uri protocol")
Ejemplo n.º 4
0
 def __enter__(self):
     if not self.nameserver:
         raise PyroError("cannot reuse this object")
     return self