I am using Beaker + GAE successfully. Here it is my configuration: 1. First, small monkey patch for os:
import os #monkey patch os def pid(): return 0 os.getpid = pid 2.Then you have to do this since there is a problem with cPickle not aliasing to pickle in the GAE (http://code.google.com/p/ googleappengine/issues/detail?id=284) import sys,cPickle,pickle sys.modules['cPickle'] = sys.modules['pickle'] 3. And in the main() function: application = webapp.WSGIApplication( [ # whatever your app does ], debug=True) application2 = SessionMiddleware(application, type='ext:google', table_name='Session') wsgiref.handlers.CGIHandler().run(application2) This is already working in the GAE (not only in the SDK), version 1.0.3 Nacho On Oct 16, 12:20 am, "Mike Orr" <[EMAIL PROTECTED]> wrote: > On Wed, Oct 15, 2008 at 2:21 PM, Walter Cruz <[EMAIL PROTECTED]> wrote: > > > I'm still getting the > > > Module beaker.ext.google:24 in __init__ > > << def __init__(self, namespace, table_name='beaker_cache', **params): > > """Creates a datastore namespace manager""" > > NamespaceManager.__init__(self, namespace, **params) > > > def make_cache():>> NamespaceManager.__init__(self, > > namespace, **params) > > TypeError: __init__() got an unexpected keyword argument 'digest_filenames' > > > With Beaker 1.0.3 > > I'm getting a related error. > > === > URL:http://localhost:8080/notes > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebError-0.9-py2.5.egg/weberror/evalexception.py', > line 428 in respond > app_iter = self.application(environ, detect_start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Beaker-1.0.2-py2.5.egg/beaker/middleware.py', > line 81 in __call__ > return self.app(environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Beaker-1.0.2-py2.5.egg/beaker/middleware.py', > line 159 in __call__ > return self.wrap_app(environ, session_start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Routes-1.10.1-py2.5.egg/routes/middleware.py', > line 118 in __call__ > response = self.app(environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Pylons-0.9.7rc2-py2.5.egg/pylons/wsgiapp.py', > line 117 in __call__ > response = self.dispatch(controller, environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Pylons-0.9.7rc2-py2.5.egg/pylons/wsgiapp.py', > line 315 in dispatch > return controller(environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/src/AtomRoutes/atomroutes/lib/base.py', > line 16 in __call__ > return WSGIController.__call__(self, environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Pylons-0.9.7rc2-py2.5.egg/pylons/controllers/core.py', > line 261 in __call__ > return response(environ, self.start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/exc.py', > line 370 in __call__ > environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/exc.py', > line 247 in __call__ > return self.generate_response(environ, start_response) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/exc.py', > line 231 in generate_response > body = self.html_body(environ) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/exc.py', > line 221 in html_body > body = self._make_body(environ, html_escape) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/exc.py', > line 207 in _make_body > args[k] = escape(v) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/WebOb-0.9.3-py2.5.egg/webob/__init__.py', > line 63 in html_escape > s = str(s) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Beaker-1.0.2-py2.5.egg/beaker/session.py', > line 464 in __repr__ > return self._session().__repr__() > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Beaker-1.0.2-py2.5.egg/beaker/session.py', > line 442 in _session > **params) > File > '/home/sluggo/work/appengine_book/GoogleAppEngine/demos/atomroutes/lib/python2.5/site-packages/Beaker-1.0.2-py2.5.egg/beaker/session.py', > line 64 in __init__ > self.namespace_class = namespace_class or clsmap[self.type] > KeyError: 'google' > === > > It's apparently caused by some magic in > ``environ["beaker.get_session"]()``. I commented out the > SessionMiddleware to work around it. I didn't have to comment out the > CacheMiddleware, though I rarely use the cache so I don't know if you > can. The error is probably related to how it stores sessions in > Datastore on GAE, and looks like a simple configuration error or > variable mismatch, but I don't know exactly where. > > Opened a ticket for this:http://pylonshq.com/project/pylonshq/ticket/537 > > -- > Mike Orr <[EMAIL PROTECTED]> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
