[Zope-Checkins] CVS: Zope3/lib/python/Zope/ComponentArchitecture - hooks.py:1.1.2.19.4.1
Gary Poster
garyposter@earthlink.net
Mon, 1 Apr 2002 14:29:39 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/ComponentArchitecture
In directory cvs.zope.org:/tmp/cvs-serv30049/ComponentArchitecture
Modified Files:
Tag: gary-pre_create_views-branch
hooks.py
Log Message:
hooks.py now can call factories with arguments, and the traverse knows what to do with the ;create namespace
=== Zope3/lib/python/Zope/ComponentArchitecture/hooks.py 1.1.2.19 => 1.1.2.19.4.1 ===
return provideFactory_hook(qname, factory)
-def createObject(place, name):
- return createObject_hook(place, name)
+def createObject(place, name, *args, **kwargs):
+ return createObject_hook(place, name, args, kwargs)
# default hooks
@@ -80,15 +80,14 @@
_verify(_IFactory, factory)
_factories[qname] = factory
-def createObject_hook(place, name):
+def createObject_hook(place, name, args=[], kwargs={}): ### # gary
# XXX: place is ignored at present, as we don't yet
# have placeful factories
- try: factory = _factories[name]
+ try: return _factories[name](*args, **kwargs)
except KeyError:
raise ComponentLookupError(name)
- return factory()
def _clear():
global _adapters, _utilities, _factories