protocol.py 文件源码

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

项目:girlfriend 作者: chihongze 项目源码 文件源码
def __init__(self, event_funcs):
        super(_WrappedFunctionListener, self).__init__()

        if len(event_funcs) % 2 != 0:
            raise InvalidArgumentException((
                u"event_funcs??????"
                u"???(???1, ??1, ???2, ??2, ...)???"))
        for event_name, func in itertools.izip(
                event_funcs[::2], event_funcs[1::2]):
            if not event_name.startswith("on_"):
                event_name = "on_" + event_name

            if event_name not in AbstractListener.EVENTS:
                raise InvalidArgumentException(u"??????{}".format(event_name))

            def event_handler_factory(func):
                def event_handler(ctx, f=func):
                    return f(ctx)

                return event_handler

            setattr(self, event_name, event_handler_factory(func))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号