[Checkins] SVN: zc.sourcefactory/branches/aaron-flexible-contextual-source-binder/src/zc/sourcefactory/factories.py better support for the new flexibility for form libraries
Fred L. Drake, Jr.
fdrake at gmail.com
Tue Jan 27 11:46:15 EST 2009
Log message for revision 95223:
better support for the new flexibility for form libraries
(aaron will update the docs)
Changed:
U zc.sourcefactory/branches/aaron-flexible-contextual-source-binder/src/zc/sourcefactory/factories.py
-=-
Modified: zc.sourcefactory/branches/aaron-flexible-contextual-source-binder/src/zc/sourcefactory/factories.py
===================================================================
--- zc.sourcefactory/branches/aaron-flexible-contextual-source-binder/src/zc/sourcefactory/factories.py 2009-01-27 16:23:59 UTC (rev 95222)
+++ zc.sourcefactory/branches/aaron-flexible-contextual-source-binder/src/zc/sourcefactory/factories.py 2009-01-27 16:46:15 UTC (rev 95223)
@@ -45,11 +45,13 @@
Implementors must provide an implementation for `getValues`.
"""
+ source_class = zc.sourcefactory.source.FactoredContextualSource
+
def __new__(cls, *args, **kw):
"""Create the factory object and return source."""
factory = object.__new__(cls)
factory.__init__(*args, **kw)
- return FactoredContextualSourceBinder(factory)
+ return FactoredContextualSourceBinder(factory, self.source_class)
class FactoredContextualSourceBinder(object):
@@ -57,10 +59,9 @@
zope.interface.implements(zope.schema.interfaces.IContextSourceBinder)
- def __init__(self, factory):
+ def __init__(self, factory, source_class):
self.factory = factory
+ self.source_class = source_class
- def __call__(self, context, source_class=None, *args, **kwargs):
- source_class = (source_class or
- zc.sourcefactory.source.FactoredContextualSource)
- return source_class(self.factory, context, *args, **kwargs)
+ def __call__(self, context, *args, **kwargs):
+ return self.source_class(self.factory, context, *args, **kwargs)
More information about the Checkins
mailing list