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
-~----------~----~----~----~------~----~------~--~---

Reply via email to