[Checkins] SVN: z3c.saconfig/trunk/src/z3c/saconfig/ allow relative dotted names in zcml directives; named_scoped_session with a null name is same as Session
Laurence Rowe
l at lrowe.co.uk
Thu Oct 9 13:36:20 EDT 2008
Log message for revision 91926:
allow relative dotted names in zcml directives; named_scoped_session with a null name is same as Session
Changed:
U z3c.saconfig/trunk/src/z3c/saconfig/scopedsession.py
U z3c.saconfig/trunk/src/z3c/saconfig/zcml.py
-=-
Modified: z3c.saconfig/trunk/src/z3c/saconfig/scopedsession.py
===================================================================
--- z3c.saconfig/trunk/src/z3c/saconfig/scopedsession.py 2008-10-09 17:16:57 UTC (rev 91925)
+++ z3c.saconfig/trunk/src/z3c/saconfig/scopedsession.py 2008-10-09 17:36:19 UTC (rev 91926)
@@ -23,7 +23,7 @@
# to define behavior.
Session = scoped_session(session_factory, scopefunc)
-_named_scoped_sessions = {}
+_named_scoped_sessions = {u'': Session}
def named_scoped_session(name):
try:
Modified: z3c.saconfig/trunk/src/z3c/saconfig/zcml.py
===================================================================
--- z3c.saconfig/trunk/src/z3c/saconfig/zcml.py 2008-10-09 17:16:57 UTC (rev 91925)
+++ z3c.saconfig/trunk/src/z3c/saconfig/zcml.py 2008-10-09 17:36:19 UTC (rev 91926)
@@ -1,7 +1,7 @@
import zope.interface
import zope.schema
import zope.component.zcml
-import zope.dottedname.resolve
+from zope.configuration.name import resolve
import utility
import interfaces
@@ -26,7 +26,7 @@
required=False,
default=False)
- setup = zope.schema.DottedName(
+ setup = zope.schema.BytesLine(
title=u'After engine creation hook',
description=u'Callback for creating mappers etc. One argument is passed, the engine',
required=False,
@@ -72,12 +72,18 @@
name=name)
if setup:
- callback = zope.dottedname.resolve.resolve(setup)
+ if _context.package is None:
+ callback = resolve(setup)
+ else:
+ callback = resolve(setup, package=_context.package.__name__)
callback(factory())
def session(_context, name=u"", engine=u"", twophase=False,
factory="z3c.saconfig.utility.GloballyScopedSession"):
- ScopedSession = zope.dottedname.resolve.resolve(factory)
+ if _context.package is None:
+ ScopedSession = resolve(factory)
+ else:
+ ScopedSession = resolve(factory, package=_context.package.__name__)
scoped_session = ScopedSession(engine=engine, twophase=twophase)
zope.component.zcml.utility(
More information about the Checkins
mailing list