Viewing file: examples.py (3.16 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
############################################################################## # # Copyright (c) 2001, 2002, 2009 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Examples supporting Sphinx doctest snippets. """ import sys
from zope.interface import Interface from zope.interface import implementer from zope.interface.interfaces import IInterface
from zope.component._declaration import adapter from zope.component.testfiles.views import IC
def write(x): sys.stdout.write('%s\n' % x)
class ITestType(IInterface): pass
class I1(Interface): pass
class I2(Interface): pass
class I3(Interface): pass
class I4(Interface): pass
class IGI(Interface): pass
class IQI(Interface): pass
class ISI(Interface): pass
class ISII(Interface): pass
def noop(*args): pass
class U(object):
def __init__(self, name): self.__name__ = name
def __repr__(self): return "%s(%s)" % (self.__class__.__name__, self.__name__)
@implementer(I1) class U1(U): pass
@implementer(I1, I2) class U12(U): pass
@adapter(I1) def handle1(x): write('handle1 %s' % x)
def handle2(*objects): write( 'handle2 ' + repr(objects))
@adapter(I1) def handle3(x): write( 'handle3 %s' % x)
@adapter(I1) def handle4(x): write( 'handle4 %s' % x)
class GlobalRegistry: pass
from zope.component.globalregistry import GlobalAdapterRegistry base = GlobalAdapterRegistry(GlobalRegistry, 'adapters') GlobalRegistry.adapters = base def clear_base(): base.__init__(GlobalRegistry, 'adapters')
@implementer(I1) class Ob(object): def __repr__(self): return '<instance Ob>'
ob = Ob()
@implementer(I2) class Ob2(object): def __repr__(self): return '<instance Ob2>'
@implementer(IC) class Ob3(object): pass
@implementer(I2) class Comp(object): def __init__(self, context): self.context = context
comp = Comp(1)
@implementer(I3) class Comp2(object): def __init__(self, context): self.context = context
class ConformsToIComponentLookup(object): """Allow a dummy sitemanager to conform/adapt to `IComponentLookup`."""
def __init__(self, sitemanager): self.sitemanager = sitemanager
def __conform__(self, interface): """This method is specified by the adapter PEP to do the adaptation.""" from zope.component.interfaces import IComponentLookup if interface is IComponentLookup: return self.sitemanager
def clearZCML(test=None): from zope.configuration.xmlconfig import XMLConfig import zope.component from zope.component.testing import setUp from zope.component.testing import tearDown tearDown() setUp() XMLConfig('meta.zcml', zope.component)()
|