def __new__(klass, name = None, *args, **keywords): dispatcher = Dispatcher.dispatchers.get(name, None) if dispatcher is None: dispatcher = super(Dispatcher,klass).__new__(klass,name,*args,**keywords) if name is not None: named = Dispatcher.dispatchers.setdefault(name, dispatcher) # If a race-condition existed, 'dispatcher' would not be 'new' # and should not, in that case, be initialized. if named is dispatcher: register_utility(dispatcher,IDispatcher,name) else: return dispatcher dispatcher.initialize(name, *args, **keywords) return dispatcher
def __new__(klass, name=None, *args, **keywords): dispatcher = Dispatcher.dispatchers.get(name, None) if dispatcher is None: dispatcher = super(Dispatcher, klass).__new__(klass, name, *args, **keywords) if name is not None: named = Dispatcher.dispatchers.setdefault(name, dispatcher) # If a race-condition existed, 'dispatcher' would not be 'new' # and should not, in that case, be initialized. if named is dispatcher: register_utility(dispatcher, IDispatcher, name) else: return dispatcher dispatcher.initialize(name, *args, **keywords) return dispatcher
def __init__(self, *args): super(CloudManager, self).__init__(*args) self.dispatcher = Dispatcher('Cloud Manager:Dispatcher') register_utility(self, ICloudManager, 'Cloud Manager') self.peer = Event.LOCALORIGIN self.formation = [] self._scheduled = None self.unreachable = {} self.subscription = None if((as_node('/services/network/https_server')).is_enabled()): self.secure_http = True else: self.secure_http = False self.channel_monitor = ChannelMonitor() self.channel_monitor.trigger = CallbackTrigger(self.channel_monitor)
def get_url(self): return self.url def __get_name(self): return '/' def __set_name(self,name): if name != '/': raise TypeError('Root Node name is always "/"') return url = name = property(__get_name,__set_name) def get_absolute_url(self): # Root NodeSpace has URL '', so we use # self.name if NodeSpace URL is empty # otherwise absolute_url doesn't start with '/' url = self.nodespace.url or self.name return path.join(url, '') absolute_url = property(get_absolute_url) def singleton_unload_hook(self): pass rootspace = None if not query_utility(INodeSpace, 'Root'): register_utility(NodeSpace(), INodeSpace, 'Root') rootspace = query_utility(INodeSpace, 'Root') tools.setup_hybrid_architecture(rootspace)
return self.url def __get_name(self): return '/' def __set_name(self, name): if name != '/': raise TypeError('Root Node name is always "/"') return url = name = property(__get_name, __set_name) def get_absolute_url(self): # Root NodeSpace has URL '', so we use # self.name if NodeSpace URL is empty # otherwise absolute_url doesn't start with '/' url = self.nodespace.url or self.name return path.join(url, '') absolute_url = property(get_absolute_url) def singleton_unload_hook(self): pass rootspace = None if not query_utility(INodeSpace, 'Root'): register_utility(NodeSpace(), INodeSpace, 'Root') rootspace = query_utility(INodeSpace, 'Root') tools.setup_hybrid_architecture(rootspace)