callbacks.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:fandango 作者: tango-controls 项目源码 文件源码
def removeListener(self, listener, exclude='dummy'):
        """
        Remove a listener object or callback.
        :listener: can be object, weakref, sequence or '*'
        """

        if listener == '*':
            self.warning('Removing all listeners')
            listener = [k for k in self.listeners.keys() if not k().name==exclude]

        elif isString(listener):
            listener = [k for k in self.listeners.keys() if k().name==listener]

        if isSequence(listener):
            while listener:
              self.removeListener(listener.pop())
            return

        elif not isinstance(listener,weakref.ReferenceType):
            listener = weakref.ref(listener,self._listenerDied)

        try:
            self.listeners.pop(listener)
        except Exception, e:
            return False
        if not self.listeners:
            self.unsubscribeEvents()
        return True
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号