directives.py 文件源码

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

项目:ome-model 作者: ome 项目源码 文件源码
def __call__(self, stream, directives, ctxt, **vars):
        def _generate():
            kind, (tag, attrib), pos  = stream.next()
            attrs = _eval_expr(self.expr, ctxt, vars)
            if attrs:
                if isinstance(attrs, Stream):
                    try:
                        attrs = iter(attrs).next()
                    except StopIteration:
                        attrs = []
                elif not isinstance(attrs, list): # assume it's a dict
                    attrs = attrs.items()
                attrib |= [
                    (QName(n), v is not None and unicode(v).strip() or None)
                    for n, v in attrs
                ]
            yield kind, (tag, attrib), pos
            for event in stream:
                yield event

        return _apply_directives(_generate(), directives, ctxt, vars)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号