take a look at SessionContext (source code as well as docs on the site). "current" is a property accessor that hits a registry function; it creates the session via a callable function passed to its constructor. there should never be a case where no session is available since it knows how to create one if needed.
On Jun 30, 2006, at 12:11 PM, Charles Duffy wrote: > After seeing some infinite-recursion issues, I modified > activemapper.Objectstore as follows: > > class Objectstore(SessionContext): > def __getattr__(self, key): > assert hasattr(self, 'current'), 'No session-specific context > object available' > return getattr(self.current, key) > def get_session(self): > return self.current > > I'm now seeing the following exception: > > Traceback (most recent call last): > File > "/pkgs/Python-2.4.2/lib/python2.4/site-packages/CherryPy-2.2.1- > py2.4.egg/cherrypy/_cpserver.py", > line 78, in _start > Engine._start(self) > File > "/pkgs/Python-2.4.2/lib/python2.4/site-packages/CherryPy-2.2.1- > py2.4.egg/cherrypy/_cpengine.py", > line 108, in _start > func() > File "/home/ccd/VC/turbogears/turbogears/startup.py", line 222, in > startTurboGears > ext.start_extension() > File "/home/ccd/VC/turbogears/turbogears/visit/api.py", line 64, in > start_extension > _manager= _create_visit_manager( timeout ) > File "/home/ccd/VC/turbogears/turbogears/visit/api.py", line 47, in > _create_visit_manager > plugin= entrypoint.load() > File > "/pkgs/Python-2.4.2/lib/python2.4/site-packages/setuptools-0.6a11- > py2.4.egg/pkg_resources.py", > line 1830, in load > entry = __import__(self.module_name, globals(),globals(), > ['__name__']) > File "/home/ccd/VC/turbogears/turbogears/visit/savisit.py", line > 64, in ? > class TG_Visit(ActiveMapper): > File "/home/ccd/VC/sqlalchemy/lib/sqlalchemy/ext/activemapper.py", > line 229, in __init__ > assign_mapper(objectstore, cls, cls.table) > File "/home/ccd/VC/sqlalchemy/lib/sqlalchemy/ext/assignmapper.py", > line 31, in assign_mapper > extension = ctx.mapper_extension > File "/home/ccd/VC/sqlalchemy/lib/sqlalchemy/ext/ > sessioncontext.py", > line 39, in _get_mapper_extension > return self._extension > File "/home/ccd/VC/sqlalchemy/lib/sqlalchemy/ext/activemapper.py", > line 24, in __getattr__ > assert hasattr(self, 'current'), 'No session-specific context > object available' > AssertionError: No session-specific context object available > > > So... somehow, I'm not getting a current object in my Objectstore. How > and where is this supposed to be created? > > > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Sqlalchemy-users mailing list > Sqlalchemy-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users