当前位置: 首页>>代码示例>>Python>>正文


Python interface.implementedBy函数代码示例

本文整理汇总了Python中zope.interface.implementedBy函数的典型用法代码示例。如果您正苦于以下问题:Python implementedBy函数的具体用法?Python implementedBy怎么用?Python implementedBy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了implementedBy函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_transportInterfaces

    def test_transportInterfaces(self):
        """
        The transport wrapper passed to the wrapped protocol's
        C{makeConnection} provides the same interfaces as are provided by the
        original transport.
        """
        class IStubTransport(Interface):
            pass

        class StubTransport:
            implements(IStubTransport)

        # Looking up what ProtocolWrapper implements also mutates the class.
        # It adds __implemented__ and __providedBy__ attributes to it.  These
        # prevent __getattr__ from causing the IStubTransport.providedBy call
        # below from returning True.  If, by accident, nothing else causes
        # these attributes to be added to ProtocolWrapper, the test will pass,
        # but the interface will only be provided until something does trigger
        # their addition.  So we just trigger it right now to be sure.
        implementedBy(policies.ProtocolWrapper)

        proto = protocol.Protocol()
        wrapper = policies.ProtocolWrapper(policies.WrappingFactory(None), proto)

        wrapper.makeConnection(StubTransport())
        self.assertTrue(IStubTransport.providedBy(proto.transport))
开发者ID:BillAndersan,项目名称:twisted,代码行数:26,代码来源:test_policies.py

示例2: test_provider

    def test_provider(self):
        from z3c.pt.pagetemplate import ViewPageTemplateFile

        class Context(object):
            pass

        class Request(object):
            response = None

        class View(object):
            __call__ = ViewPageTemplateFile("provider.pt")

        from zope.interface import Interface
        from zope.schema import Field
        from zope.interface import implementer
        from zope.interface import directlyProvides
        from zope.contentprovider.interfaces import ITALNamespaceData

        class ITestProvider(Interface):
            context = Field(u"Provider context.")

        directlyProvides(ITestProvider, ITALNamespaceData)
        assert ITALNamespaceData.providedBy(ITestProvider)

        @implementer(ITestProvider)
        class Provider(object):

            def __init__(self, *args):
                data.extend(list(args))

            def update(self):
                data.extend("updated")

            def render(self):
                return """<![CDATA[ %r, %r]]>""" % (
                    data, self.__dict__)

        view = View()
        data = []

        from zope.interface import implementedBy
        from zope.component import provideAdapter
        from zope.contentprovider.interfaces import IContentProvider

        provideAdapter(
            Provider, (
                implementedBy(Context),
                implementedBy(Request),
                implementedBy(View)
                ),
            IContentProvider,
            name="content"
            )

        context = Context()
        request = Request()

        result = view(context=context, request=request)
        self.failUnless(repr(data) in result)
        self.failUnless(repr({'context': context}) in result)
开发者ID:urska19,项目名称:Plone-test,代码行数:60,代码来源:test_templates.py

示例3: test_provider

    def test_provider(self):
        class Context(object):
            pass

        class Request(object):
            response = None

        class View(object):
            __call__ = ViewPageTemplateFile("provider.pt")

        # Test binding descriptor behaviour.
        self.assertIsInstance(View.__call__, ViewPageTemplateFile)

        from zope.interface import Interface
        from zope.schema import Field
        from zope.interface import implementer
        from zope.interface import directlyProvides
        from zope.contentprovider.interfaces import ITALNamespaceData

        class ITestProvider(Interface):
            context = Field(u"Provider context.")

        directlyProvides(ITestProvider, ITALNamespaceData)
        assert ITALNamespaceData.providedBy(ITestProvider)

        @implementer(ITestProvider)
        class Provider(object):
            def __init__(self, *args):
                data.extend(list(args))

            def update(self):
                data.extend("updated")

            def render(self):
                return """<![CDATA[ %r, %r]]>""" % (data, self.__dict__)

        view = View()
        data = []

        from zope.interface import implementedBy
        from zope.component import provideAdapter
        from zope.contentprovider.interfaces import IContentProvider

        provideAdapter(
            Provider,
            (
                implementedBy(Context),
                implementedBy(Request),
                implementedBy(View),
            ),
            IContentProvider,
            name="content",
        )

        context = Context()
        request = Request()

        result = view(context=context, request=request)
        self.assertIn(repr(data), result)
        self.assertIn(repr({"context": context}), result)
开发者ID:zopefoundation,项目名称:z3c.pt,代码行数:60,代码来源:test_templates.py

示例4: test_pickle_zodb_lookup_utility

    def test_pickle_zodb_lookup_utility(self):
        # Now, we can register a couple utilities in the base, save everything,
        # and look it up in the sub (when the classes don't match)
        storage = DemoStorage()
        self._store_base_subs_in_zodb(storage)

        db = DB(storage)
        conn = db.open()
        new_base = conn.root()['base']
        new_base._p_activate()
        new_sub = conn.root()['sub']


        new_base.utilities.btree_provided_threshold = 0
        new_base.utilities.btree_map_threshold = 0

        new_base.registerUtility(MockSite(),
                                 provided=IFoo)
        provided1 = new_base.adapters._provided
        # Previously this would fail. Now it works.
        new_base.registerUtility(MockSite(),
                                 provided=implementedBy(object),
                                 name=u'foo')

        new_base.registerUtility(MockSite(),
                                 provided=IMock,
                                 name=u'foo')

        provided2 = new_base.adapters._provided
        # Make sure that it only converted once
        assert_that(provided1, is_(same_instance(provided2)))
        assert_that(new_base._utility_registrations, is_(BTrees.OOBTree.OOBTree))

        assert_that(new_base._utility_registrations.keys(),
                    contains(
                        (IFoo, u''),
                        (IMock, u'foo'),
                        (implementedBy(object), u'foo'),
                    ))
        assert_that(new_base.utilities._provided, is_(BTrees.family64.OI.BTree))
        assert_that(new_base.utilities._adapters[0], is_(BTrees.family64.OO.BTree))

        assert_that(new_base.utilities._adapters[0][IFoo], is_(BTrees.family64.OO.BTree))


        transaction.commit()
        conn.close()
        db.close()

        db = DB(storage)
        conn = db.open()
        new_sub = conn.root()['sub']

        x = new_sub.queryUtility(IFoo)
        assert_that(x, is_(MockSite))

        x = new_sub.queryUtility(IMock, u'foo')
        assert_that(x, is_(MockSite))
开发者ID:NextThought,项目名称:nti.site,代码行数:58,代码来源:test_site.py

示例5: __init__

    def __init__(self, module, name, klass):
        self.__parent__ = module
        self.__name__ = name
        self.__klass = klass

        # Setup interfaces that are implemented by this class.
        self.__interfaces = tuple(implementedBy(klass))
        self.__all_ifaces = tuple(implementedBy(klass).flattened())

        # Register the class with the global class registry.
        classRegistry[self.getPath()] = klass
开发者ID:zopefoundation,项目名称:zope.app.apidoc,代码行数:11,代码来源:class_.py

示例6: test_register_implemented_by_lookup_utility

    def test_register_implemented_by_lookup_utility(self):
        storage = DemoStorage()
        self._store_base_subs_in_zodb(storage)

        db = DB(storage)
        conn = db.open()
        new_base = conn.root()['base']
        new_base._p_activate()
        new_sub = conn.root()['sub']


        new_base.utilities.btree_provided_threshold = 0
        new_base.utilities.btree_map_threshold = 0

        new_base.registerUtility(MockSite(),
                                 provided=IFoo)
        provided1 = new_base.adapters._provided
        # In the past, we couldn't register by implemented, but now we can.
        new_base.registerUtility(MockSite(),
                                 provided=implementedBy(MockSite),
                                 name=u'foo')

        provided2 = new_base.adapters._provided
        # Make sure that it only converted once
        assert_that(provided1, is_(same_instance(provided2)))
        assert_that(new_base._utility_registrations, is_(BTrees.OOBTree.OOBTree))

        assert_that(new_base._utility_registrations.keys(),
                    contains(
                        (IFoo, u''),
                        ((implementedBy(MockSite), u'foo')),
                    ))
        assert_that(new_base.utilities._provided, is_(BTrees.family64.OI.BTree))
        assert_that(new_base.utilities._adapters[0], is_(BTrees.family64.OO.BTree))

        assert_that(new_base.utilities._adapters[0][IFoo], is_(BTrees.family64.OO.BTree))


        transaction.commit()
        conn.close()
        db.close()

        db = DB(storage)
        conn = db.open()
        new_sub = conn.root()['sub']

        x = new_sub.queryUtility(IFoo)
        assert_that(x, is_(MockSite))

        # But it can't actually be looked up, regardless of whether we
        # convert to btrees or not
        x = new_sub.queryUtility(MockSite, u'foo')
        assert_that(x, is_(none()))
开发者ID:NextThought,项目名称:nti.site,代码行数:53,代码来源:test_site.py

示例7: testUtil

    def testUtil(self):
        self.assert_(IC in implementedBy(C))
        self.assert_(I1 in implementedBy(A))
        self.assert_(not I1 in implementedBy(C))
        self.assert_(I2 in implementedBy(B))
        self.assert_(not I2 in implementedBy(C))

        self.assert_(IC in providedBy(C()))
        self.assert_(I1 in providedBy(A()))
        self.assert_(not I1 in providedBy(C()))
        self.assert_(I2 in providedBy(B()))
        self.assert_(not I2 in providedBy(C()))
开发者ID:pwarren,项目名称:AGDeviceControl,代码行数:12,代码来源:test_interface.py

示例8: register

def register(implementor, orig, *interfaceClasses):
    if orig in fakeimplementeds:
        origInterface = fakeimplementeds[orig]
    elif not isinstance(orig, InterfaceClass):
        origInterface = implementedBy(orig)
    else:
        origInterface = orig

    if not interfaceClasses:
        interfaceClasses = tuple(implementedBy(implementor))

    for interfaceClass in interfaceClasses:
        registry.register([origInterface], interfaceClass, '', implementor)
开发者ID:lahwran,项目名称:regex_generator,代码行数:13,代码来源:adapterutil.py

示例9: register

def register(implementor, orig, *target_interfaces):
    """
    Register an implementor to map from one interface to another

    .. python::
        from zope.interface import implementer
        # implement*e*r is a typo in zope.interface, unfortunately

        @implementer(ITarget)
        class Implementor(stuff):
            stuff

        register(Implementor, IOriginal)

    .. python::
        from zope.interface import implementer

        @implementer(ITarget1)
        @implementer(ITarget2)
        @implementer(INotTarget)
        class Implementor(stuff):
            stuff

        register(Implementor, IOriginal, ITarget1, ITarget2, ITargetNotImplemented)

    :Parameters:
      implementor
        Factory which returns an object which provides the target interface; if no interfaces
        are passed in, then the target interfaces will be inferred from the list of interfaces
        that the implementor implements.

        Note that this means that if you pass in any target interfaces, they will override the
        inferred ones
      orig
        Interface or class to map from. If it's a class, it must implement exactly one interface.
      target_interfaces
        zero or more target interfaces to map to
    """
    if orig in fakeimplementeds:
        orig_interface = fakeimplementeds[orig]
    elif not isinstance(orig, InterfaceClass):
        orig_interface = implementedBy(orig)
    else:
        orig_interface = orig

    if not target_interfaces:
        target_interfaces = tuple(implementedBy(implementor))

    for target_interface in target_interfaces:
        registry.register([orig_interface], target_interface, '', implementor)
    return implementor
开发者ID:lahwran,项目名称:crow2,代码行数:51,代码来源:adapterutil.py

示例10: test_add_inheriteddelegatei

    def test_add_inheriteddelegatei(self):
        @add_delegate(InheritedDelegateI)
        class Delegator2(object):
            def __init__(self):
                self.x = 1

        mems = set([n for n, v in getmembers(Delegator2, ismethod) if not n.startswith("_")])
        self.assertEqual(mems, set(["i"]))
        interfaces = list(implementedBy(Delegator2))
        self.assertEqual(interfaces, list(implementedBy(InheritedDelegateI)))
        delegator = Delegator2()
        for interface in interfaces:
            self.assertTrue(obj_has_interface(delegator, interface))
        self.assertEqual(delegator.i(delegator.x), 2)
开发者ID:lazycrazyowl,项目名称:OpenMDAO-Framework,代码行数:14,代码来源:test_decorators.py

示例11: test_classImplements

    def test_classImplements(self):
        class A(Odd):
            implements(I3)

        class B(Odd):
            implements(I4)

        class C(A, B):
            pass

        classImplements(C, I1, I2)
        self.assertEqual([i.getName() for i in implementedBy(C)], ["I1", "I2", "I3", "I4"])
        classImplements(C, I5)
        self.assertEqual([i.getName() for i in implementedBy(C)], ["I1", "I2", "I5", "I3", "I4"])
开发者ID:hgroll,项目名称:yocto-autobuilder,代码行数:14,代码来源:test_odd_declarations.py

示例12: test_add_delegatej

    def test_add_delegatej(self):
        @add_delegate(DelegateJ)
        class Delegator1(object):
            def __init__(self):
                self.x = 1

        mems = set([n for n, v in getmembers(Delegator1, ismethod) if not n.startswith("_")])
        self.assertEqual(mems, set(["i", "j"]))
        interfaces = list(implementedBy(Delegator1))
        self.assertEqual(interfaces, list(implementedBy(DelegateJ)))
        delegator = Delegator1()
        for interface in interfaces:
            self.assertTrue(obj_has_interface(delegator, interface))
        self.assertEqual(delegator.i(delegator.x), 2)
        self.assertEqual(delegator.j(delegator.x), 3)
开发者ID:lazycrazyowl,项目名称:OpenMDAO-Framework,代码行数:15,代码来源:test_decorators.py

示例13: test_classImplements

    def test_classImplements(self):
        class A(Odd):
          implements(I3)

        class B(Odd):
          implements(I4)

        class C(A, B):
          pass
        classImplements(C, I1, I2)
        self.assertEqual([i.getName() for i in implementedBy(C)],
                         ['I1', 'I2', 'I3', 'I4'])
        classImplements(C, I5)
        self.assertEqual([i.getName() for i in implementedBy(C)],
                         ['I1', 'I2', 'I5', 'I3', 'I4'])
开发者ID:ConduitTeam,项目名称:hue,代码行数:15,代码来源:test_odd_declarations.py

示例14: __get__

 def __get__(self, inst, cls=None):
     
     # We're looking at a class - fall back on default
     if inst is None:
         return getObjectSpecification(cls)
     
     # Find the cached value and return it if possible
     cached = getattr(inst, '_v__providedBy__', None)
     if cached is not None:
         return cached
     
     # Get interfaces directly provided by the draft proxy
     provided = getattr(inst, '__provides__', None)
     
     # If the draft proxy doesn't have a __provides__ attribute, get the
     # interfaces implied by the class as a starting point.
     if provided is None:
         provided = implementedBy(cls)
     
     # Add the interfaces provided by the target 
     target = aq_base(inst._DraftProxy__target)
     if target is None:
         return provided
     
     provided += providedBy(target)
     
     inst._v__providedBy__ = provided
     return provided
开发者ID:Vinsurya,项目名称:Plone,代码行数:28,代码来源:proxy.py

示例15: _get_components

 def _get_components(self,cont,pathname=None):
     ''' get a heierarchical list of all the components in the given
         container or dictionary.  the name of the root container, if
         specified, is prepended to all pathnames
     '''
     
     comps = []
     for k,v in cont.items():                        
         if is_instance(v,Component):
             comp = {}
             if cont == self.proj.__dict__:
                 comp['pathname'] = k
                 children = self._get_components(v,k)
             else:
                 comp['pathname'] = pathname+'.'+ k if pathname else k
                 children = self._get_components(v,comp['pathname'])
             if len(children) > 0:
                 comp['children'] = children
             comp['type'] = str(v.__class__.__name__)
             inames = []
             for klass in list(implementedBy(v.__class__)):
                 inames.append(klass.__name__)
             comp['interfaces'] = inames
             comps.append(comp)
     return comps
开发者ID:JustinSGray,项目名称:OpenMDAO-Framework,代码行数:25,代码来源:consoleserverfactory.py


注:本文中的zope.interface.implementedBy函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。