Example #1
0
 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
Example #2
0
 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
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
        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)