summaryrefslogtreecommitdiff
path: root/repoze
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-12-23 19:09:48 +0000
committerChris McDonough <chrism@agendaless.com>2008-12-23 19:09:48 +0000
commitb0fd8d04db03d5d2d1098b3c7365221e790afcdc (patch)
tree0fdf5460dc8d7b2f07d41b32aa82e5205353a5e2 /repoze
parentb790ab4eab971450c26302dfaec33b670ed0c51e (diff)
downloadpyramid-b0fd8d04db03d5d2d1098b3c7365221e790afcdc.tar.gz
pyramid-b0fd8d04db03d5d2d1098b3c7365221e790afcdc.tar.bz2
pyramid-b0fd8d04db03d5d2d1098b3c7365221e790afcdc.zip
This stuff should have never been checked in; it's in repoze.zcml now.
Diffstat (limited to 'repoze')
-rw-r--r--repoze/bfg/zcml.py240
1 files changed, 0 insertions, 240 deletions
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index 91f5d9152..fb31e107d 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -128,246 +128,6 @@ class IViewDirective(Interface):
required=False
)
-def adapter(_context, factory, provides=None, for_=None, name=''):
-
- if for_ is None:
- if len(factory) == 1:
- for_ = zope.component.adaptedBy(factory[0])
-
- if for_ is None:
- raise TypeError("No for attribute was provided and can't "
- "determine what the factory adapts.")
-
- for_ = tuple(for_)
-
- if provides is None:
- if len(factory) == 1:
- p = list(zope.interface.implementedBy(factory[0]))
- if len(p) == 1:
- provides = p[0]
-
- if provides is None:
- raise TypeError("Missing 'provides' attribute")
-
- # Generate a single factory from multiple factories:
- factories = factory
- if len(factories) == 1:
- factory = factories[0]
- elif len(factories) < 1:
- raise ValueError("No factory specified")
- elif len(factories) > 1 and len(for_) != 1:
- raise ValueError("Can't use multiple factories and multiple for")
- else:
- factory = _rolledUpFactory(factories)
-
- _context.action(
- discriminator = ('adapter', for_, provides, name),
- callable = handler,
- args = ('registerAdapter',
- factory, for_, provides, name, _context.info),
- )
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = ('', provides)
- )
- if for_:
- for iface in for_:
- if iface is not None:
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = ('', iface)
- )
-
-class IAdapterDirective(zope.interface.Interface):
- """
- Register an adapter
- """
-
- factory = zope.configuration.fields.Tokens(
- title=u"Adapter factory/factories",
- description=(u"A list of factories (usually just one) that create"
- " the adapter instance."),
- required=True,
- value_type=zope.configuration.fields.GlobalObject()
- )
-
- provides = zope.configuration.fields.GlobalInterface(
- title=u"Interface the component provides",
- description=(u"This attribute specifies the interface the adapter"
- " instance must provide."),
- required=False,
- )
-
- for_ = zope.configuration.fields.Tokens(
- title=u"Specifications to be adapted",
- description=u"This should be a list of interfaces or classes",
- required=False,
- value_type=zope.configuration.fields.GlobalObject(
- missing_value=object(),
- ),
- )
-
- name = zope.schema.TextLine(
- title=u"Name",
- description=(u"Adapters can have names.\n\n"
- "This attribute allows you to specify the name for"
- " this adapter."),
- required=False,
- )
-
-_handler = handler
-def subscriber(_context, for_=None, factory=None, handler=None, provides=None):
- if factory is None:
- if handler is None:
- raise TypeError("No factory or handler provided")
- if provides is not None:
- raise TypeError("Cannot use handler with provides")
- factory = handler
- else:
- if handler is not None:
- raise TypeError("Cannot use handler with factory")
- if provides is None:
- raise TypeError(
- "You must specify a provided interface when registering "
- "a factory")
-
- if for_ is None:
- for_ = zope.component.adaptedBy(factory)
- if for_ is None:
- raise TypeError("No for attribute was provided and can't "
- "determine what the factory (or handler) adapts.")
-
- for_ = tuple(for_)
-
- if handler is not None:
- _context.action(
- discriminator = None,
- callable = _handler,
- args = ('registerHandler',
- handler, for_, u'', _context.info),
- )
- else:
- _context.action(
- discriminator = None,
- callable = _handler,
- args = ('registerSubscriptionAdapter',
- factory, for_, provides, u'', _context.info),
- )
-
- if provides is not None:
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = ('', provides)
- )
-
- # For each interface, state that the adapter provides that interface.
- for iface in for_:
- if iface is not None:
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = ('', iface)
- )
-
-class ISubscriberDirective(zope.interface.Interface):
- """
- Register a subscriber
- """
-
- factory = zope.configuration.fields.GlobalObject(
- title=u"Subscriber factory",
- description=u"A factory used to create the subscriber instance.",
- required=False,
- )
-
- handler = zope.configuration.fields.GlobalObject(
- title=u"Handler",
- description=u"A callable object that handles events.",
- required=False,
- )
-
- provides = zope.configuration.fields.GlobalInterface(
- title=u"Interface the component provides",
- description=(u"This attribute specifies the interface the adapter"
- " instance must provide."),
- required=False,
- )
-
- for_ = zope.configuration.fields.Tokens(
- title=u"Interfaces or classes that this subscriber depends on",
- description=u"This should be a list of interfaces or classes",
- required=False,
- value_type=zope.configuration.fields.GlobalObject(
- missing_value = object(),
- ),
- )
-
-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(zope.interface.implementedBy(factory))
- else:
- provides = list(zope.interface.providedBy(component))
- if len(provides) == 1:
- provides = provides[0]
- else:
- raise TypeError("Missing 'provides' attribute")
-
- _context.action(
- discriminator = ('utility', provides, name),
- callable = handler,
- args = ('registerUtility', component, provides, name),
- kw = dict(factory=factory),
- )
-
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = (provides.__module__ + '.' + provides.getName(), provides)
- )
-
-class IUtilityDirective(Interface):
- """Register a utility."""
-
- component = zope.configuration.fields.GlobalObject(
- title=u"Component to use",
- description=(u"Python name of the implementation object. This"
- " must identify an object in a module using the"
- " full dotted name. If specified, the"
- " ``factory`` field must be left blank."),
- required=False,
- )
-
- factory = zope.configuration.fields.GlobalObject(
- title=u"Factory",
- description=(u"Python name of a factory which can create the"
- " implementation object. This must identify an"
- " object in a module using the full dotted name."
- " If specified, the ``component`` field must"
- " be left blank."),
- required=False,
- )
-
- provides = zope.configuration.fields.GlobalInterface(
- title=u"Provided interface",
- description=u"Interface provided by the utility.",
- required=False,
- )
-
- name = zope.schema.TextLine(
- title=u"Name",
- description=(u"Name of the registration. This is used by"
- " application code when locating a utility."),
- required=False,
- )
-
-
PVERSION = 1
def pickle_name(name, package):