i have not run the code yet..... but upon inspection i like that line 1619 of gluon/tools.py is redundant, and because it uses an OR query it breaks on GAE.
can someone confirm that: user = user or table_user._db( (table_user.registration_id==value)| (table_user[fieldname]==value)).select().first() can be replaced with : user = user or table_user._db( (table_user[fieldname]==value)).select().first() in auth.get_or_create_user() without breaking anything? On Thursday, August 30, 2012 3:59:39 AM UTC-7, rif wrote: > > After a succesful login from janrain running on GAE I get the following > error: > > Traceback (most recent call last): > File "/home/rif/Documents/webframeworks/homepage/gluon/restricted.py", > line 209, in restricted > exec ccode in environment > File > "/home/rif/Documents/webframeworks/homepage/applications/init/controllers/default.py", > > line 105, in <module> > File "/home/rif/Documents/webframeworks/homepage/gluon/globals.py", line > 185, in <lambda> > self._caller = lambda f: f() > File > "/home/rif/Documents/webframeworks/homepage/applications/init/controllers/default.py", > > line 103, in user > return dict(form=auth()) > File "/home/rif/Documents/webframeworks/homepage/gluon/tools.py", line > 1191, in __call__ > return getattr(self,args[0])() > File "/home/rif/Documents/webframeworks/homepage/gluon/tools.py", line > 1961, in login > user = self.get_or_create_user(table_user._filter_fields(cas_user)) > File "/home/rif/Documents/webframeworks/homepage/gluon/tools.py", line > 1620, in get_or_create_user > (table_user[fieldname]==value)).select().first() > File "/home/rif/Documents/webframeworks/homepage/gluon/dal.py", line > 8682, in select > return adapter.select(self.query,fields,attributes) > File "/home/rif/Documents/webframeworks/homepage/gluon/dal.py", line > 4461, in select > (items, tablename, fields) = self.select_raw(query,fields,attributes) > File "/home/rif/Documents/webframeworks/homepage/gluon/dal.py", line > 4356, in select_raw > filters = self.expand(query) > File "/home/rif/Documents/webframeworks/homepage/gluon/dal.py", line > 4232, in expand > return expression.op(expression.first, expression.second) > File "/home/rif/Documents/webframeworks/homepage/gluon/dal.py", line > 4087, in OR > def OR(self,first,second): raise SyntaxError, "Not supported" > SyntaxError: Not supported > > > Does anybody experience the same problem? > --