[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Formulator - CompositeWidget.py:1.1.4.2 Field.py:1.1.4.2 FieldRegistry.py:1.1.4.2 Form.py:1.1.4.2 ICompositeWidget.py:1.1.4.2 IField.py:1.1.4.2 IInstanceFactory.py:1.1.4.2 IPropertyFieldAdapter.py:1.1.4.2 ISimpleRegistry.py:1.1.4.2 IValidator.py:1.1.4.2 IWidget.py:1.1.4.2 PropertyFieldAdapter.py:1.1.4.2 SimpleRegistry.py:1.1.4.2 ValidatorRegistry.py:1.1.4.2 Widget.py:1.1.4.2 __init__.py:1.1.4.2
Jeremy Hylton
jeremy@zope.com
Tue, 4 Jun 2002 12:12:33 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/Formulator
In directory cvs.zope.org:/tmp/cvs-serv30515
Modified Files:
Tag: Zope-3x-branch
CompositeWidget.py Field.py FieldRegistry.py Form.py
ICompositeWidget.py IField.py IInstanceFactory.py
IPropertyFieldAdapter.py ISimpleRegistry.py IValidator.py
IWidget.py PropertyFieldAdapter.py SimpleRegistry.py
ValidatorRegistry.py Widget.py __init__.py
Log Message:
Fix line endings.
=== Zope3/lib/python/Zope/App/Formulator/CompositeWidget.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from ICompositeWidget import ICompositeWidget
-from Widget import Widget
-
-
-class CompositeWidget(Widget):
- """ """
-
- __implements__ = Widget.__implements__, ICompositeWidget
-
- # Page template that is ised to lay out sub-widgets
- template = None
-
- # List of Sub-Widgets
- widgets = None
-
-
- def render(self, REQUEST):
- """ """
- return apply(self.template, (REQUEST,))
-
-
- def render_hidden(self, REQUEST):
- """ """
- return apply(self.template, (REQUEST,), {'hidden': 1})
-
-
- def setWidget(self, name, widget):
- """ """
- if self.widgets is None:
- self.widgets = {}
-
- self.widgets[name] = widget
-
-
- def getWidget(self, name, _default=None):
- """ """
- if name in self.widgets.keys():
- return self.widgets[name]
- else:
- return _default
-
-
- def getWidgets(self):
- """ """
- return self.widgets
+"""
+
+$Id$
+"""
+
+from ICompositeWidget import ICompositeWidget
+from Widget import Widget
+
+
+class CompositeWidget(Widget):
+ """ """
+
+ __implements__ = Widget.__implements__, ICompositeWidget
+
+ # Page template that is ised to lay out sub-widgets
+ template = None
+
+ # List of Sub-Widgets
+ widgets = None
+
+
+ def render(self, REQUEST):
+ """ """
+ return apply(self.template, (REQUEST,))
+
+
+ def render_hidden(self, REQUEST):
+ """ """
+ return apply(self.template, (REQUEST,), {'hidden': 1})
+
+
+ def setWidget(self, name, widget):
+ """ """
+ if self.widgets is None:
+ self.widgets = {}
+
+ self.widgets[name] = widget
+
+
+ def getWidget(self, name, _default=None):
+ """ """
+ if name in self.widgets.keys():
+ return self.widgets[name]
+ else:
+ return _default
+
+
+ def getWidgets(self):
+ """ """
+ return self.widgets
=== Zope3/lib/python/Zope/App/Formulator/Field.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Persistence import Persistent
-from IField import IField
-from Zope.App.Formulator.Errors import ValidationError
-from IInstanceFactory import IInstanceFactory
-
-
-class Field(Persistent):
- """Base class of all fields.
- A field is an object consisting of a widget and a validator.
- """
-
- __implements__ = (
- IField,
- IInstanceFactory
- )
-
- propertyNames = ('id', 'validator', 'default', 'title', 'description',
- 'required')
-
- id = None
- validator = None
- default = None
- title = 'Field Title'
- description = 'Field Description'
- required = 0
-
-
- def __init__(self, context=None, **kw):
- self.realize(context)
-
- for name in self.propertyNames:
- if name in kw.keys():
- setattr(self, name, kw[name])
-
-
- def getErrorMessage(self, name):
- try:
- return self.validator.getMessage(name)
- except KeyError:
- if name in self.validator.messageNames:
- return getattr(self.validator, name)
- else:
- return "Unknown error: %s" % name
-
-
- ############################################################
- # Implementation methods for interface
- # Zope.App.Formulator.IField.
-
- def getValidator(self):
- '''See interface IField'''
- return self.validator
-
-
- def hasValue(self, id):
- '''See interface IField'''
- if id in self.propertyNames:
- return 1
- else:
- return 0
-
-
- def getValue(self, id, _default=None):
- '''See interface IField'''
- if id in self.propertyNames:
- return getattr(self, id)
- else:
- return _default
-
-
- def isRequired(self):
- '''See interface IField'''
- return hasattr(self, 'required') and getattr(self, 'required')
-
-
- def getErrorNames(self):
- '''See interface IField'''
- return self.validator.messageNames
-
-
- def getTales(self, id):
- '''See interface IField'''
- raise NotImplemented
-
-
- def isTALESAvailable(self):
- '''See interface IField'''
- raise NotImplemented
-
-
- def getOverride(self, id):
- '''See interface IField'''
- raise NotImplemented
-
- #
- ############################################################
-
-
- ############################################################
- # Implementation methods for interface
- # Zope.App.Formulator.IInstanceFactory.
-
- def __call__(self, context):
- '''See interface IInstanceFactory'''
- self.realize(context)
- return self
-
-
- def getContext(self):
- '''See interface IInstanceFactory'''
- return self.context
-
-
- def realize(self, context):
- '''See interface IInstanceFactory'''
- self.context = context
- #
- ############################################################
+"""
+
+$Id$
+"""
+
+from Persistence import Persistent
+from IField import IField
+from Zope.App.Formulator.Errors import ValidationError
+from IInstanceFactory import IInstanceFactory
+
+
+class Field(Persistent):
+ """Base class of all fields.
+ A field is an object consisting of a widget and a validator.
+ """
+
+ __implements__ = (
+ IField,
+ IInstanceFactory
+ )
+
+ propertyNames = ('id', 'validator', 'default', 'title', 'description',
+ 'required')
+
+ id = None
+ validator = None
+ default = None
+ title = 'Field Title'
+ description = 'Field Description'
+ required = 0
+
+
+ def __init__(self, context=None, **kw):
+ self.realize(context)
+
+ for name in self.propertyNames:
+ if name in kw.keys():
+ setattr(self, name, kw[name])
+
+
+ def getErrorMessage(self, name):
+ try:
+ return self.validator.getMessage(name)
+ except KeyError:
+ if name in self.validator.messageNames:
+ return getattr(self.validator, name)
+ else:
+ return "Unknown error: %s" % name
+
+
+ ############################################################
+ # Implementation methods for interface
+ # Zope.App.Formulator.IField.
+
+ def getValidator(self):
+ '''See interface IField'''
+ return self.validator
+
+
+ def hasValue(self, id):
+ '''See interface IField'''
+ if id in self.propertyNames:
+ return 1
+ else:
+ return 0
+
+
+ def getValue(self, id, _default=None):
+ '''See interface IField'''
+ if id in self.propertyNames:
+ return getattr(self, id)
+ else:
+ return _default
+
+
+ def isRequired(self):
+ '''See interface IField'''
+ return hasattr(self, 'required') and getattr(self, 'required')
+
+
+ def getErrorNames(self):
+ '''See interface IField'''
+ return self.validator.messageNames
+
+
+ def getTales(self, id):
+ '''See interface IField'''
+ raise NotImplemented
+
+
+ def isTALESAvailable(self):
+ '''See interface IField'''
+ raise NotImplemented
+
+
+ def getOverride(self, id):
+ '''See interface IField'''
+ raise NotImplemented
+
+ #
+ ############################################################
+
+
+ ############################################################
+ # Implementation methods for interface
+ # Zope.App.Formulator.IInstanceFactory.
+
+ def __call__(self, context):
+ '''See interface IInstanceFactory'''
+ self.realize(context)
+ return self
+
+
+ def getContext(self):
+ '''See interface IInstanceFactory'''
+ return self.context
+
+
+ def realize(self, context):
+ '''See interface IInstanceFactory'''
+ self.context = context
+ #
+ ############################################################
=== Zope3/lib/python/Zope/App/Formulator/FieldRegistry.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-
-from SimpleRegistry import SimpleRegistry
-from ISimpleRegistry import ISimpleRegistry
-from IField import IField
-
-class IFieldRegistry(ISimpleRegistry):
- """
- The Field Registry manages a list of all the fields available in Zope. A
- registry is useful at this point, since fields can be initialized and
- registered by many places.
-
- Note that it does not matter whether we have classes or instances as
- fields. If the fields are instances, they must implement
- IInstanceFactory.
- """
- pass
-
-
-class FieldRegistry(SimpleRegistry):
- """ """
-
- __implements__ = (IFieldRegistry,)
-
-
-
-FieldRegistry = FieldRegistry(IField)
-registerField = FieldRegistry.register
-getField = FieldRegistry.get
+"""
+
+$Id$
+"""
+
+
+from SimpleRegistry import SimpleRegistry
+from ISimpleRegistry import ISimpleRegistry
+from IField import IField
+
+class IFieldRegistry(ISimpleRegistry):
+ """
+ The Field Registry manages a list of all the fields available in Zope. A
+ registry is useful at this point, since fields can be initialized and
+ registered by many places.
+
+ Note that it does not matter whether we have classes or instances as
+ fields. If the fields are instances, they must implement
+ IInstanceFactory.
+ """
+ pass
+
+
+class FieldRegistry(SimpleRegistry):
+ """ """
+
+ __implements__ = (IFieldRegistry,)
+
+
+
+FieldRegistry = FieldRegistry(IField)
+registerField = FieldRegistry.register
+getField = FieldRegistry.get
=== Zope3/lib/python/Zope/App/Formulator/Form.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Zope.Publisher.Browser.AttributePublisher \
- import AttributePublisher
-#from IForm import IForm
-from Zope.ComponentArchitecture import getRequestView
-from Zope.App.Formulator.IPropertyFieldAdapter import IPropertyFieldAdapter
-from Zope.App.Formulator.Errors import ValidationError
-from Zope.ComponentArchitecture import getAdapter
-
-
-class Form(AttributePublisher):
- """Form base class.
- """
-
- __implements__ = AttributePublisher.__implements__#, IForm
-
- name = 'Form Name' # for use by javascript
- title = 'This is a form'
- description = ''
- method = 'post'
- enctype = ''
-
- _fieldViewNames = []
- template = None
-
-
- def __init__(self, context):
- """Initialize form.
- """
- self._context = context
- self._widgets = []
-
-
- def index(self, REQUEST, **kw):
- """ """
- return apply(self.template, (REQUEST,), kw)
-
-
- def action(self, REQUEST):
- """ """
- errors = []
- values = {}
- for widget in self.getFieldViews(REQUEST):
- value = widget.getValueFromRequest(REQUEST)
- field = widget.getContext()
- try:
- values[field.id] = field.getValidator().validate(field, value)
- except ValidationError, err:
- errors.append(err)
-
- if errors == []:
- for widget in self.getFieldViews(REQUEST):
- field = widget.getContext()
- getAdapter(field, IPropertyFieldAdapter).setPropertyInContext(values[field.id])
-
- return self.index(REQUEST, errors=errors)
-
-
- def getFieldViews(self, REQUEST):
- """ """
- views = []
- context = self.getContext()
- for name in self._fieldViewNames:
- views.append(getRequestView(context, name, REQUEST))
- return views
-
-
- def getContext(self):
- """ """
- return self._context
+"""
+
+$Id$
+"""
+
+from Zope.Publisher.Browser.AttributePublisher \
+ import AttributePublisher
+#from IForm import IForm
+from Zope.ComponentArchitecture import getRequestView
+from Zope.App.Formulator.IPropertyFieldAdapter import IPropertyFieldAdapter
+from Zope.App.Formulator.Errors import ValidationError
+from Zope.ComponentArchitecture import getAdapter
+
+
+class Form(AttributePublisher):
+ """Form base class.
+ """
+
+ __implements__ = AttributePublisher.__implements__#, IForm
+
+ name = 'Form Name' # for use by javascript
+ title = 'This is a form'
+ description = ''
+ method = 'post'
+ enctype = ''
+
+ _fieldViewNames = []
+ template = None
+
+
+ def __init__(self, context):
+ """Initialize form.
+ """
+ self._context = context
+ self._widgets = []
+
+
+ def index(self, REQUEST, **kw):
+ """ """
+ return apply(self.template, (REQUEST,), kw)
+
+
+ def action(self, REQUEST):
+ """ """
+ errors = []
+ values = {}
+ for widget in self.getFieldViews(REQUEST):
+ value = widget.getValueFromRequest(REQUEST)
+ field = widget.getContext()
+ try:
+ values[field.id] = field.getValidator().validate(field, value)
+ except ValidationError, err:
+ errors.append(err)
+
+ if errors == []:
+ for widget in self.getFieldViews(REQUEST):
+ field = widget.getContext()
+ getAdapter(field, IPropertyFieldAdapter).setPropertyInContext(values[field.id])
+
+ return self.index(REQUEST, errors=errors)
+
+
+ def getFieldViews(self, REQUEST):
+ """ """
+ views = []
+ context = self.getContext()
+ for name in self._fieldViewNames:
+ views.append(getRequestView(context, name, REQUEST))
+ return views
+
+
+ def getContext(self):
+ """ """
+ return self._context
=== Zope3/lib/python/Zope/App/Formulator/ICompositeWidget.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from IWidget import IWidget
-
-
-class ICompositeWidget(IWidget):
- """ """
+"""
+
+$Id$
+"""
+
+from IWidget import IWidget
+
+
+class ICompositeWidget(IWidget):
+ """ """
=== Zope3/lib/python/Zope/App/Formulator/IField.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-from Interface import Interface
-
-
-class IField(Interface):
- """
- """
-
- def getValidator():
- """Return the validator of this field."""
-
-
- def getContext():
- """Return the context object of the field."""
-
-
- def hasValue(id):
- """Return true if the field defines such a value.
- """
-
-
- def getValue(id):
- """Get value for id."""
-
-
- def getOverride(id):
- """Get override method for id (not wrapped)."""
-
-
- def getTales(id):
- """Get tales expression method for id."""
-
-
- def isRequired():
- """Check whether this field is required (utility function)
- """
-
-
- def getErrorNames():
- """Get error messages.
- """
-
-
- def isTALESAvailable():
- """Return true only if TALES is available.
- """
-
+from Interface import Interface
+
+
+class IField(Interface):
+ """
+ """
+
+ def getValidator():
+ """Return the validator of this field."""
+
+
+ def getContext():
+ """Return the context object of the field."""
+
+
+ def hasValue(id):
+ """Return true if the field defines such a value.
+ """
+
+
+ def getValue(id):
+ """Get value for id."""
+
+
+ def getOverride(id):
+ """Get override method for id (not wrapped)."""
+
+
+ def getTales(id):
+ """Get tales expression method for id."""
+
+
+ def isRequired():
+ """Check whether this field is required (utility function)
+ """
+
+
+ def getErrorNames():
+ """Get error messages.
+ """
+
+
+ def isTALESAvailable():
+ """Return true only if TALES is available.
+ """
+
=== Zope3/lib/python/Zope/App/Formulator/IInstanceFactory.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-
-from Interface import Interface
-
-
-class IInstanceFactory(Interface):
- """
- If the Instance Factory is implemented by an object, then this object
- can be used as factory for other components, such as Views.
- """
-
- def realize(context):
- """
- Relaizes an instance in a particular context/evironment. This
- method basically replaces __init__(context) for class-based
- factories.
- """
-
-
- def __call__(context):
- """
- Basically calls realize(context). However it must be implemented
- too, so that the factory is callable This method has to return the
- produced object.
- """
-
- def getContext():
- """
- Get the context of the realized instance.
- """
+"""
+
+$Id$
+"""
+
+
+from Interface import Interface
+
+
+class IInstanceFactory(Interface):
+ """
+ If the Instance Factory is implemented by an object, then this object
+ can be used as factory for other components, such as Views.
+ """
+
+ def realize(context):
+ """
+ Relaizes an instance in a particular context/evironment. This
+ method basically replaces __init__(context) for class-based
+ factories.
+ """
+
+
+ def __call__(context):
+ """
+ Basically calls realize(context). However it must be implemented
+ too, so that the factory is callable This method has to return the
+ produced object.
+ """
+
+ def getContext():
+ """
+ Get the context of the realized instance.
+ """
=== Zope3/lib/python/Zope/App/Formulator/IPropertyFieldAdapter.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-
-from Interface import Interface
-
-
-class IPropertyFieldAdapter(Interface):
- """
- """
-
- def setPropertyInContext(value):
- """ """
-
-
- def getPropertyInContext():
- """ """
+"""
+
+$Id$
+"""
+
+
+from Interface import Interface
+
+
+class IPropertyFieldAdapter(Interface):
+ """
+ """
+
+ def setPropertyInContext(value):
+ """ """
+
+
+ def getPropertyInContext():
+ """ """
=== Zope3/lib/python/Zope/App/Formulator/ISimpleRegistry.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Interface import Interface
-
-
-class ISimpleRegistry(Interface):
- """
- The Simple Registry is minimal collection of registered objects. This can
- be useful, when it is expected that objects of a particular type are added
- from many places in the system (through 3rd party products for example).
-
- A good example for this are the Formulator fields. While the basic types
- are defined inside the Formulator tree, other parties might add many
- more later on in their products, so it is useful to provide a registry via
- ZCML that allows to collect these items.
-
- There is only one constraint on the objects. They all must implement a
- particular interface specified during the initialization of the registry.
-
- Note that it does not matter whether we have classes or instances as
- objects. If the objects are instances, they must implement simply
- IInstanceFactory.
- """
-
- def register(name, object):
- """
- Registers the object under the id name.
- """
-
-
- def getF(name):
- """
- This returns the object with id name.
- """
+"""
+
+$Id$
+"""
+
+from Interface import Interface
+
+
+class ISimpleRegistry(Interface):
+ """
+ The Simple Registry is minimal collection of registered objects. This can
+ be useful, when it is expected that objects of a particular type are added
+ from many places in the system (through 3rd party products for example).
+
+ A good example for this are the Formulator fields. While the basic types
+ are defined inside the Formulator tree, other parties might add many
+ more later on in their products, so it is useful to provide a registry via
+ ZCML that allows to collect these items.
+
+ There is only one constraint on the objects. They all must implement a
+ particular interface specified during the initialization of the registry.
+
+ Note that it does not matter whether we have classes or instances as
+ objects. If the objects are instances, they must implement simply
+ IInstanceFactory.
+ """
+
+ def register(name, object):
+ """
+ Registers the object under the id name.
+ """
+
+
+ def getF(name):
+ """
+ This returns the object with id name.
+ """
=== Zope3/lib/python/Zope/App/Formulator/IValidator.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Interface import Interface
-
-
-class IValidator(Interface):
- """A field validator provides the functionality to verify the
- input data on the server.
-
- This class will be initialized as a singleton.
- """
-
- def validate(field, value):
- """Validate the value, knowing the field.
- """
-
- def raiseError(errorKey, field):
- """Raises the error, if the validation fails.
- """
+"""
+
+$Id$
+"""
+
+from Interface import Interface
+
+
+class IValidator(Interface):
+ """A field validator provides the functionality to verify the
+ input data on the server.
+
+ This class will be initialized as a singleton.
+ """
+
+ def validate(field, value):
+ """Validate the value, knowing the field.
+ """
+
+ def raiseError(errorKey, field):
+ """Raises the error, if the validation fails.
+ """
=== Zope3/lib/python/Zope/App/Formulator/IWidget.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Interface import Interface
-
-
-class IWidget(Interface):
- """Generically describes the behavior of a widget.
-
- The widget defines a list of propertyNames, which describes
- what properties of the widget are available to use for
- constructing the widget render output.
-
- Note that this level must be still presentation independent.
- """
-
- def getValue(name):
- """Look up a Widget setting (value) by name."""
-
-
- def getContext():
- """Get the context of the widget, namely the Field."""
-
-
- def render():
- """Render the widget. This will return the representation the
- client will understand."""
-
- def render_hidden():
- """Render the widget as a hidden field. This will return the
- representation the client will understand."""
+"""
+
+$Id$
+"""
+
+from Interface import Interface
+
+
+class IWidget(Interface):
+ """Generically describes the behavior of a widget.
+
+ The widget defines a list of propertyNames, which describes
+ what properties of the widget are available to use for
+ constructing the widget render output.
+
+ Note that this level must be still presentation independent.
+ """
+
+ def getValue(name):
+ """Look up a Widget setting (value) by name."""
+
+
+ def getContext():
+ """Get the context of the widget, namely the Field."""
+
+
+ def render():
+ """Render the widget. This will return the representation the
+ client will understand."""
+
+ def render_hidden():
+ """Render the widget as a hidden field. This will return the
+ representation the client will understand."""
=== Zope3/lib/python/Zope/App/Formulator/PropertyFieldAdapter.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from IPropertyFieldAdapter import IPropertyFieldAdapter
-from Zope.App.Formulator.Errors import ValidationError
-
-
-class PropertyFieldAdapter:
- """ """
-
- __implements__ = IPropertyFieldAdapter
-
-
- def __init__(self, context):
- """ """
- self.context = context
-
-
- def setPropertyInContext(self, value):
- """ """
- field = self.getContext()
- method = getattr(field.getContext(),
- 'set'+field.id[0].capitalize()+field.id[1:], None)
- apply(method, (value,))
-
-
- def getPropertyInContext(self):
- """ """
- field = self.getContext()
- method = getattr(field.getContext(),
- 'get'+field.id[0].capitalize()+field.id[1:], None)
- return apply(method, ())
-
-
- def getContext(self):
- """ """
- return self.context
+"""
+
+$Id$
+"""
+
+from IPropertyFieldAdapter import IPropertyFieldAdapter
+from Zope.App.Formulator.Errors import ValidationError
+
+
+class PropertyFieldAdapter:
+ """ """
+
+ __implements__ = IPropertyFieldAdapter
+
+
+ def __init__(self, context):
+ """ """
+ self.context = context
+
+
+ def setPropertyInContext(self, value):
+ """ """
+ field = self.getContext()
+ method = getattr(field.getContext(),
+ 'set'+field.id[0].capitalize()+field.id[1:], None)
+ apply(method, (value,))
+
+
+ def getPropertyInContext(self):
+ """ """
+ field = self.getContext()
+ method = getattr(field.getContext(),
+ 'get'+field.id[0].capitalize()+field.id[1:], None)
+ return apply(method, ())
+
+
+ def getContext(self):
+ """ """
+ return self.context
=== Zope3/lib/python/Zope/App/Formulator/SimpleRegistry.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from Zope.Configuration.name import resolve
-from ISimpleRegistry import ISimpleRegistry
-from types import StringTypes, ListType, TupleType
-ListTypes = (TupleType, ListType)
-
-
-class ZopeDuplicateRegistryEntryError(Exception):
- """
- This Error is raised when the user tries to add an object with
- a name that already exists in the registry. Therefore,
- overwriting is not allowed.
- """
-
- def __init__(self, name):
- """Initializes Error"""
- self.name = name
-
-
- def __str__(self):
- """Returns string representation of Error"""
- return "The name '%s' is already defined in this registry." \
- %self.name
-
-
-
-class ZopeIllegalInterfaceError(Exception):
- """
- This Error is thrown, when the passed object does not implement
- the specified interface.
- """
-
- def __init__(self, name, interface):
- """Initalize Error"""
- self.name = name
- self.interface = interface
-
-
- def __str__(self):
- """Returns string representation of Error"""
- return ( "The object with name " + self.name + " does not implement "
- "the interface " + self.interface.__name__ + "." )
-
-
-
-class SimpleRegistry:
- """ """
-
- __implements__ = (ISimpleRegistry,)
-
-
- def __init__(self, interface):
- """Initialize registry"""
- self.objects = {}
- self.interface = interface
-
-
- ############################################################
- # Implementation methods for interface
- # Zope.App.Formulator.ISimpleRegistry
-
- def register(self, name, object):
- '''See interface ISimpleRegistry'''
-
- if name in self.objects.keys():
- raise ZopeDuplicateRegistryEntryError(name)
-
- # XXX Find the right Interface tools to do that; unfortunately,
- # I have not found them
- # Check whether the object implements the right interface.
- # Note, that we do *not* know whether the object is an instance
- # or a class (or worse a Persistent class)
- if hasattr(object, '__implements__') and \
- ( self.interface == object.__implements__ or \
- ( type(object.__implements__) in ListTypes and
- self.interface in object.__implements__ ) ):
- self.objects[name] = object
-
- else:
- raise ZopeIllegalInterfaceError(name, self.interface)
-
- return []
-
-
- def get(self, name):
- '''See interface ISimpleRegistry'''
- if name in self.objects.keys():
- return self.objects[name]
- else:
- return None
-
- #
- ############################################################
+"""
+
+$Id$
+"""
+
+from Zope.Configuration.name import resolve
+from ISimpleRegistry import ISimpleRegistry
+from types import StringTypes, ListType, TupleType
+ListTypes = (TupleType, ListType)
+
+
+class ZopeDuplicateRegistryEntryError(Exception):
+ """
+ This Error is raised when the user tries to add an object with
+ a name that already exists in the registry. Therefore,
+ overwriting is not allowed.
+ """
+
+ def __init__(self, name):
+ """Initializes Error"""
+ self.name = name
+
+
+ def __str__(self):
+ """Returns string representation of Error"""
+ return "The name '%s' is already defined in this registry." \
+ %self.name
+
+
+
+class ZopeIllegalInterfaceError(Exception):
+ """
+ This Error is thrown, when the passed object does not implement
+ the specified interface.
+ """
+
+ def __init__(self, name, interface):
+ """Initalize Error"""
+ self.name = name
+ self.interface = interface
+
+
+ def __str__(self):
+ """Returns string representation of Error"""
+ return ( "The object with name " + self.name + " does not implement "
+ "the interface " + self.interface.__name__ + "." )
+
+
+
+class SimpleRegistry:
+ """ """
+
+ __implements__ = (ISimpleRegistry,)
+
+
+ def __init__(self, interface):
+ """Initialize registry"""
+ self.objects = {}
+ self.interface = interface
+
+
+ ############################################################
+ # Implementation methods for interface
+ # Zope.App.Formulator.ISimpleRegistry
+
+ def register(self, name, object):
+ '''See interface ISimpleRegistry'''
+
+ if name in self.objects.keys():
+ raise ZopeDuplicateRegistryEntryError(name)
+
+ # XXX Find the right Interface tools to do that; unfortunately,
+ # I have not found them
+ # Check whether the object implements the right interface.
+ # Note, that we do *not* know whether the object is an instance
+ # or a class (or worse a Persistent class)
+ if hasattr(object, '__implements__') and \
+ ( self.interface == object.__implements__ or \
+ ( type(object.__implements__) in ListTypes and
+ self.interface in object.__implements__ ) ):
+ self.objects[name] = object
+
+ else:
+ raise ZopeIllegalInterfaceError(name, self.interface)
+
+ return []
+
+
+ def get(self, name):
+ '''See interface ISimpleRegistry'''
+ if name in self.objects.keys():
+ return self.objects[name]
+ else:
+ return None
+
+ #
+ ############################################################
=== Zope3/lib/python/Zope/App/Formulator/ValidatorRegistry.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-
-from SimpleRegistry import SimpleRegistry
-from ISimpleRegistry import ISimpleRegistry
-from IValidator import IValidator
-
-class IValidatorRegistry(ISimpleRegistry):
- """
-
- Note that it does not matter whether we have classes or instances as
- validators. If the validaotrs are instances, they must implement
- IInstanceFactory.
- """
- pass
-
-
-class ValidatorRegistry(SimpleRegistry):
- """ """
-
- __implements__ = (IValidatorRegistry,)
-
-
-
-ValidatorRegistry = ValidatorRegistry(IValidator)
-registerValidator = ValidatorRegistry.register
-getValidator = ValidatorRegistry.get
+"""
+
+$Id$
+"""
+
+
+from SimpleRegistry import SimpleRegistry
+from ISimpleRegistry import ISimpleRegistry
+from IValidator import IValidator
+
+class IValidatorRegistry(ISimpleRegistry):
+ """
+
+ Note that it does not matter whether we have classes or instances as
+ validators. If the validaotrs are instances, they must implement
+ IInstanceFactory.
+ """
+ pass
+
+
+class ValidatorRegistry(SimpleRegistry):
+ """ """
+
+ __implements__ = (IValidatorRegistry,)
+
+
+
+ValidatorRegistry = ValidatorRegistry(IValidator)
+registerValidator = ValidatorRegistry.register
+getValidator = ValidatorRegistry.get
=== Zope3/lib/python/Zope/App/Formulator/Widget.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-from IWidget import IWidget
-
-
-class Widget(object):
- """I do not know what will be in this class, but it provides
- an extra layer.
- """
-
- __implements__ = IWidget
-
- propertyNames = []
-
-
- def __init__(self, field):
- """ """
- self._field = field
-
-
- def getValue(self, name):
- """ """
- if name in self.propertyNames:
- return getattr(self, name, None)
-
-
- def getContext(self):
- """ """
- return self._field
-
-
- def render(self):
- """ """
- raise NotImplemented
-
-
- def render_hidden(self):
- """ """
- raise NotImplemented
+"""
+
+$Id$
+"""
+from IWidget import IWidget
+
+
+class Widget(object):
+ """I do not know what will be in this class, but it provides
+ an extra layer.
+ """
+
+ __implements__ = IWidget
+
+ propertyNames = []
+
+
+ def __init__(self, field):
+ """ """
+ self._field = field
+
+
+ def getValue(self, name):
+ """ """
+ if name in self.propertyNames:
+ return getattr(self, name, None)
+
+
+ def getContext(self):
+ """ """
+ return self._field
+
+
+ def render(self):
+ """ """
+ raise NotImplemented
+
+
+ def render_hidden(self):
+ """ """
+ raise NotImplemented
=== Zope3/lib/python/Zope/App/Formulator/__init__.py 1.1.4.1 => 1.1.4.2 ===
#
##############################################################################
-"""
-
-$Id$
-"""
-
-from FieldRegistry import registerField, getField
-from ValidatorRegistry import registerValidator, getValidator
+"""
+
+$Id$
+"""
+
+from FieldRegistry import registerField, getField
+from ValidatorRegistry import registerValidator, getValidator