component.py 文件源码

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

项目:guillotina 作者: plone 项目源码 文件源码
def utility(_context, provides=None, component=None, factory=None, name=''):
    if factory and component:
        raise TypeError("Can't specify factory and component.")

    if provides is None:
        if factory:
            provides = list(implementedBy(factory))
        else:
            provides = list(providedBy(component))
        if len(provides) == 1:
            provides = provides[0]
        else:
            raise TypeError("Missing 'provides' attribute")

    if name == '':
        if factory:
            name = getName(factory)
        else:
            name = getName(component)

    _context.action(
        discriminator=('utility', provides, name),
        callable=handler,
        args=('registerUtility', component, provides, name),
        kw=dict(factory=factory))
    _context.action(
        discriminator=None,
        callable=provide_interface,
        args=('', provides))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号