Hi Marzia,

Thanks for the explanation!

I'm a little bit surprised that the production API would change on its
own like this. This makes a production application incredibly unstable
if the underlying GAE API can change without warning. Is there any
plan to allow an application to freeze the API on which it relies so
that this kind of instability doesn't occur? Or is this simply because
GAE is in beta and when (hopefully soon) it goes "production" then
this won't happen?

-Ben

On Nov 15, 1:07 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> Hi Ben,
>
> The recent maintenance included some changes to db.py, including adding a
> has_key function, which seems to be causing the error with template
> rendering.
>
> The new SDK has not yet been released, but the easiest/quickest fix would be
> to take the google.appengine.ext.db __init__.py file from 1.1.5, rename it,
> and included it with your application.
>
> Just change the imports, replacing from google.appengine.ext import db with
> from Db import db (assuming you changed the name of __init__.py to Db.py,
> for instance).
>
> Hope this helps, sorry for the confusion!
>
> -Marzia
>
> On Fri, Nov 14, 2008 at 3:19 PM, Ben Adida <[EMAIL PROTECTED]> wrote:
>
> > Hi Marzia,
>
> > Thanks again for your help.
>
> > I want to stress that this started happening with no change in code on
> > my end. And it works just fine in the SDK. Was there a library change
> > of any kind in GAE over the last few days?
>
> > The source code for my app is entirely public. Here's the template in
> > particular:
>
> >http://github.com/benadida/helios/tree/master/templates/election/one....
>
> > and the controller
>
> >http://github.com/benadida/helios/tree/master/controllers/election.py
>
> > line 395.
>
> > Thanks again,
>
> > -Ben
>
> > On Nov 14, 3:01 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > Hi Ben,
>
> > > It's difficult to know what this stack trace means with out an idea of
> > what
> > > kind of obj the has_key method belongs to.  Would it be possible to at
> > least
> > > provide the template that is being rendered? And a description of what
> > one
> > > expects to be rendered?
>
> > > -Marzia
>
> > > On Fri, Nov 14, 2008 at 11:51 AM, Ben Adida <[EMAIL PROTECTED]> wrote:
>
> > > > Marzia,
>
> > > > It's a little difficult to cut down the example to size, because *all*
> > > > of my pages that render content from the store are giving errors.
> > > > Here's one URL where the issue comes up:
>
> > > >http://dev.heliosvoting.org/elections/ahBkZXYtaGVsaW9zdm90aW5ncg8LEgh.
> > ..
>
> > > > and that will give you the complete stack trace.
>
> > > > Let me know if that helps, and thanks.
>
> > > > -Ben
>
> > > > On Nov 14, 9:49 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > Hi Ben,
>
> > > > > Can you provide a more complete example of the code that causes this
> > > > issue?
> > > > > As well as the complete stack trace.
>
> > > > > Thanks,
> > > > > Marzia
>
> > > > > On Fri, Nov 14, 2008 at 9:40 AM, Ben Adida <[EMAIL PROTECTED]> wrote:
>
> > > > > > Suddenly, I'm getting the following errors on just about every
> > page:
>
> > > > > > if hasattr(obj, 'has_key') and obj.has_key(key):
> > > > > > TypeError: has_key() takes exactly 1 argument (2 given)
>
> > > > > > This is within the Cheetah templating library, _valueForName
> > function.
> > > > > > I haven't modified the Cheetah code, nor have I modified my
> > > > > > application at GAE in the last few days.
>
> > > > > > And I can't reproduce this error in my local SDK installation.
>
> > > > > > Did GAE just change some internal libraries? I don't even
> > understand
> > > > > > why has_key() would ever take only one argument...
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to