def __init__(self, **kwargs): kwargs['ParentEmissionThread'] = None self.IsParentEmissionThread = kwargs.get('IsParentEmissionThread', False) thread_id = setID(kwargs.get('thread_id')) if thread_id in _THREADS: newid = '__'.join([thread_id, setID(None)]) self.LOG.warning('thread_id %s already exists using %s' % (thread_id, newid)) thread_id = newid _THREADS[thread_id] = self self.AllowedEmissionThreads = set() self.AllowedEmissionThreads |= set(kwargs.get('AllowedEmissionThreads', [])) self.AllowedEmissionThreads.add(thread_id) threading.Thread.__init__(self, name=thread_id) OSCBaseObject.__init__(self, **kwargs) self._thread_id = thread_id self._insertion_lock = Lock() self.Events = {} timed_events = [] for cls in iterbases(self, 'OSCBaseObject'): if not hasattr(cls, '_Events'): continue for key in cls._Events.iterkeys(): e = self.Properties[key] self.Events[key] = e if e.wait_timeout is not None: timed_events.append(e.name) self._threaded_calls_idle = True timed_events.reverse() self.timed_events = timed_events self._threaded_calls_queue = collections.deque() self._timed_calls_queue = TimeQueue() self.disable_threaded_call_waits = kwargs.get('disable_threaded_call_waits', False)
def __init__(self, **kwargs): UserDict.UserDict.__init__(self) self._indexed_items = {} self.deserialize_callback = kwargs.get('deserialize_callback') self.parent_obj = kwargs.get('parent_obj') self.child_class = kwargs.get('child_class') self.allow_index_resort = kwargs.get('allow_index_resort', False) if self.child_class == '__self__': self.child_class = self.parent_obj.__class__ self.send_child_updates_to_osc = kwargs.get( 'send_child_updates_to_osc', False) self.updating_child_from_osc = False name = kwargs.get('name') if name: kwargs.setdefault('osc_address', name) OSCBaseObject.__init__(self, **kwargs) self.register_signal('child_added', 'child_removed', 'child_index_changed', 'child_update') if 'deserialize' not in kwargs: self.name = kwargs.get('name') self.ignore_index = kwargs.get('ignore_index', False) if self.send_child_updates_to_osc: self.add_osc_handler( callbacks={'child-update': self._on_osc_child_update}) self.bind(child_update=self._ChildGroup_on_own_child_update)
def __init__(self, **kwargs): UserDict.UserDict.__init__(self) self._indexed_items = {} self.deserialize_callback = kwargs.get('deserialize_callback') self.parent_obj = kwargs.get('parent_obj') self.child_class = kwargs.get('child_class') self.allow_index_resort = kwargs.get('allow_index_resort', False) if self.child_class == '__self__': self.child_class = self.parent_obj.__class__ self.send_child_updates_to_osc = kwargs.get('send_child_updates_to_osc', False) self.updating_child_from_osc = False name = kwargs.get('name') if name: kwargs.setdefault('osc_address', name) OSCBaseObject.__init__(self, **kwargs) self.register_signal('child_added', 'child_removed', 'child_index_changed', 'child_update') if 'deserialize' not in kwargs: self.name = kwargs.get('name') self.ignore_index = kwargs.get('ignore_index', False) if self.send_child_updates_to_osc: self.add_osc_handler(callbacks={'child-update':self._on_osc_child_update}) self.bind(child_update=self._ChildGroup_on_own_child_update)
def __init__(self, **kwargs): kwargs['ParentEmissionThread'] = None self.IsParentEmissionThread = kwargs.get('IsParentEmissionThread', False) thread_id = setID(kwargs.get('thread_id')) if thread_id in _THREADS: newid = '__'.join([thread_id, setID(None)]) self.LOG.warning('thread_id %s already exists using %s' % (thread_id, newid)) thread_id = newid _THREADS[thread_id] = self self.AllowedEmissionThreads = set() self.AllowedEmissionThreads |= set( kwargs.get('AllowedEmissionThreads', [])) self.AllowedEmissionThreads.add(thread_id) threading.Thread.__init__(self, name=thread_id) OSCBaseObject.__init__(self, **kwargs) self._thread_id = thread_id self._insertion_lock = Lock() self.Events = {} timed_events = [] for cls in iterbases(self, 'OSCBaseObject'): if not hasattr(cls, '_Events'): continue for key in cls._Events.iterkeys(): e = self.Properties[key] self.Events[key] = e if e.wait_timeout is not None: timed_events.append(e.name) self._threaded_calls_idle = True timed_events.reverse() self.timed_events = timed_events self._threaded_calls_queue = collections.deque() self._timed_calls_queue = TimeQueue() self.disable_threaded_call_waits = kwargs.get( 'disable_threaded_call_waits', False)