parser.py 文件源码

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

项目:pyadmin 作者: tso 项目源码 文件源码
def command(arguments: List[ParserElement]):
    """
    command is a decorator which examines the function name and its arguments
    and registers `<function_name> arguments...` as part of the grammar.
    """

    def decorator(fn):
        fn_args = inspect.getfullargspec(fn).args
        _name = '.' + fn.__name__
        _arguments = Literal(_name)
        for i, arg in enumerate(arguments):
            _arguments += arg.setResultsName(fn_args[i])

        global grammar
        grammar |= _arguments

        def wrapper(parsed: Dict, event, event_user, event_channel, slack_client):
            return fn(**parsed, event=event, event_user=event_user, event_channel=event_channel, slack_client=slack_client)

        mapping[_name] = wrapper
        return wrapper

    return decorator
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号