Ever since web2py 1.91.6 I have had to patch html.py to avoid this
exception when my code
tries to do an ajax callback to get some HTML:

Traceback (most recent call last):
  File "c:\Google\AppEngine\esentrnet\gluon\restricted.py", line 188,
in restricted
    exec ccode in environment
  File "c:\Google\AppEngine\esentrnet\applications\init/controllers/
default.py:upbm2gig", line 238, in <module>
  File "c:\Google\AppEngine\esentrnet\gluon\globals.py", line 95, in
<lambda>
    self._caller = lambda f: f()
  File "c:\Google\AppEngine\esentrnet\applications\init/controllers/
default.py:upbm2gig", line 93, in upbm2gig
  File "applications\init\modules\controllers\default_module.py", line
1766, in upbm2gig
    upload_url =
blobstore.create_upload_url(URL(r=request,c='default',f='upbm2gig_gaehandler',args=None))
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\blobstore\blobstore.py", line 192, in create_upload_url
    _make_sync_call('blobstore', 'CreateUploadURL', request, response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\apiproxy_stub_map.py", line 86, in MakeSyncCall
    return stubmap.MakeSyncCall(service, call, request, response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\apiproxy_stub_map.py", line 286, in MakeSyncCall
    rpc.CheckSuccess()
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\apiproxy_rpc.py", line 149, in _WaitImpl
    self.request, self.response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\apiproxy_stub.py", line 80, in MakeSyncCall
    method(request, response)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\blobstore\blobstore_stub.py", line 218, in
_Dynamic_CreateUploadURL
    users.get_current_user())
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\blobstore\blobstore_stub.py", line 204, in _CreateSession
    user)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\blobstore\blobstore_stub.py", line 79, in CreateUploadSession
    'state': 'init'})
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\datastore.py", line 638, in update
    self.__setitem__(name, value)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\datastore.py", line 617, in __setitem__
    datastore_types.ValidateProperty(name, value)
  File "C:\Program Files (x86)\Google\google_appengine\google\appengine
\api\datastore_types.py", line 1323, in ValidateProperty
    'Unsupported type for property %s: %s' % (name, v.__class__))
BadValueError: Unsupported type for property success_path: <class
'gluon.html.XML'>

CAUSED BY a change in html.py line 265  in 1.92.3 where it does
    return XML(rewrite.filter_out(url, env,....

the old web2py code in 1.77.3.does not do this.

1.77.3 does
    return rewrite.filter_out(url, env) which works for me.

My patch is to delete the enclosing XML() expression.

Reply via email to