event_dispatcher.py 文件源码

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

项目:clubsandwich 作者: irskep 项目源码 文件源码
def fire(self, name, entity, data):
        """
        :param object obj: Object that is subscribed
        :param str|Enum name: Name of the event. May be a string-valued enum.
        :param entity: Entity, or ``None``.
        :param data: Arbitrary data to add to the :py:class:`Event`.

        Call all event handlers for the given *name* + *entity*, and pass *data*.
        """
        if isinstance(name, Enum):
            name = name.value
        method_name = "on_" + name.lower()
        event = Event(name, entity, data)
        for (obj, required_entity) in self.handlers[name]:
            if required_entity is None or entity is required_entity:
                method = getattr(obj, method_name)
                method(event)
            if event._is_halted or self._is_halted:
                break
        self._is_halted = False
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号