This field represents a layer.
Besides being able to look up the layer by importing it, we also try to look up the name in the site manager.
>>> from zope.interface import directlyProvides >>> from zope.interface.interface import InterfaceClass
>>> layer1 = InterfaceClass('layer1', (), ... __doc__='Layer: layer1', ... __module__='zope.app.layers') >>> directlyProvides(layer1, ILayer)
>>> layers = None >>> class Resolver(object): ... def resolve(self, path): ... if '..' in path: ... raise ValueError('Empty module name') ... if (path.startswith('zope.app.layers') and ... hasattr(layers, 'layer1') or ... path == 'zope.app.component.fields.layer1' or ... path == '.fields.layer1'): ... return layer1 ... raise ConfigurationError('layer1')
>>> field = LayerField() >>> field = field.bind(Resolver())
>>> field.fromUnicode('zope.app.component.fields.layer1') is layer1 True
>>> from types import ModuleType as module >>> import sys >>> layers = module('layers') >>> import zope.app.layers >>> old = sys.modules['zope.app.layers'] >>> sys.modules['zope.app.layers'] = layers >>> setattr(layers, 'layer1', layer1)
>>> field.fromUnicode('layer1') is layer1 True
>>> sys.modules['zope.app.layers'] = old
>>> from zope.app.testing import ztapi >>> ztapi.provideUtility(ILayer, layer1, 'layer1')
>>> field.fromUnicode('layer1') is layer1 True
>>> field.fromUnicode('.fields.layer1') is layer1 True
context
(type: NoneType
)
None
default
(type:
ValidatedProperty
)
<zope.schema._bootstrapfields.ValidatedProperty object at 0x40b28f2c>
description
(type:
FieldProperty
)
<zope.schema.fieldproperty.FieldProperty object at 0x40b223ec>
interface
(type: NoneType
)
None
missing_value
(type: NoneType
)
None
order
(type:
int
)
734
readonly
(type:
FieldProperty
)
<zope.schema.fieldproperty.FieldProperty object at 0x40b2280c>
required
(type:
FieldProperty
)
<zope.schema.fieldproperty.FieldProperty object at 0x40b22d0c>
title
(type:
FieldProperty
)
<zope.schema.fieldproperty.FieldProperty object at 0x40b0208c>
bind(object)
constraint(value)
fromUnicode(u)
get(object)
getDoc()
Returns the documentation for the object.
getName()
Returns the name of the object.
getTaggedValue(tag)
Returns the value associated with tag
.
getTaggedValueTags()
Returns a list of all tags.
query(object, default=None)
queryTaggedValue(tag, default=None)
Returns the value associated with tag
.
set(object, value)
setTaggedValue(tag, value)
Associates value
with key
.
validate(value)
There are no known subclasses.