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.