I'm not sure what I'm doing wrong...   I've built a JSON service on
top of Web2py that uses Auth.login_bare() to authenticate via
AJAX...   my auth_user table looked like this (standard):

auth.settings.table_user = db.define_table('auth_user',
    Field('first_name', length=512,default='', required=True),
    Field('last_name', length=512,default='', required=True),
    Field('display_name', length=512,default='', required=True),
    Field('email', length=512,default='',required=True,
          requires = [IS_EMAIL(),IS_NOT_IN_DB(db,'auth_user.email')]),
    Field('password', 'password', readable=False, required=True,
          label='Password',
          requires=CRYPT(auth.settings.hmac_key)),
    Field('registration_key', length=512,
          writable=True, readable=True,default=''),
    Field('reset_password_key', length=512,
          writable=False, readable=False, default=''),
    )


but then I added this field to the auth_user table:

    Field('photo', 'upload')


and now it blows up on GAE at the moment it tries to do this (inside
of login_bare):

                session.auth = Storage(user=user,
last_visit=request.now,
 
expiration=self.settings.expiration)

with this error message:

'Traceback (most recent call last):\n  File "C:\\SVNs\\T4H\\Buttrcup\
\www\\gluon\\main.py", line 391, in wsgibase\n
session._try_store_in_db(request, response)\n  File "C:\\SVNs\\T4H\
\Buttrcup\\www\\gluon\\globals.py", line 356, in _try_store_in_db\n
table._db(table.id == record_id).update(**dd)\n  File "C:\\SVNs\\T4H\
\Buttrcup\\www\\gluon\\contrib\\gql.py", line 744, in update\n
item.put()\n  File "C:\\Program Files (x86)\\Google\\google_appengine\
\google\\appengine\\ext\\db\\__init__.py", line 833, in put\n
return datastore.Put(self._entity, rpc=rpc)\n  File "C:\\Program Files
(x86)\\Google\\google_appengine\\google\\appengine\\api\
\datastore.py", line 282, in Put\n    \'datastore_v3\', \'Put\', req,
datastore_pb.PutResponse(), rpc)\n  File "C:\\Program Files (x86)\
\Google\\google_appengine\\google\\appengine\\api\\datastore.py", line
186, in _MakeSyncCall\n    rpc.check_success()\n  File "C:\\Program
Files (x86)\\Google\\google_appengine\\google\\appengine\\api\
\apiproxy_stub_map.py", line 474, in check_success\n
self.__rpc.CheckSuccess()\n  File "C:\\Program Files (x86)\\Google\
\google_appengine\\google\\appengine\\api\\apiproxy_rpc.py", line 149,
in _WaitImpl\n    self.request, self.response)\n  File "C:\\Program
Files (x86)\\Google\\google_appengine\\google\\appengine\\api\
\datastore_file_stub.py", line 667, in MakeSyncCall\n    response)\n
File "C:\\Program Files (x86)\\Google\\google_appengine\\google\
\appengine\\api\\apiproxy_stub.py", line 75, in MakeSyncCall\n
\'The request to API call %s.%s() was too large.\' % (service, call))
\nRequestTooLargeError: The request to API call datastore_v3.Put() was
too large.\n'


I'm using Wing IDE, and can't figure out how to debut through the GAE
server...


can someone point me in the right direction?  I'm going on about 40hrs
of straight development... and I can't think straight anymore...

Thank you!!
-Nick Franceschina




Reply via email to