On Jan 17, 2011, at 10:49 AM, Jonathan Lundell wrote:
> 
> On Jan 17, 2011, at 10:07 AM, Martín Mulone wrote:
>> yes is trunk
> 
> If you'd like to try a likely fix to LOAD, you can make this change. In 
> gluon.compileapp.LoadFactory, you'll see this line toward the end:
> 
>            url = url or html.URL(request.application,c,
>                                  f, args=args,vars=vars,
>                                  extension=extension)
> 
> Just add r=request:
> 
>            url = url or html.URL(request.application,c,
>                                  f, args=args,vars=vars, r=request,
>                                  extension=extension)

I just noticed that this pattern appears twice. Martín, I think you're using 
the second one, but it shouldn't hurt to patch both.


> 
> 
> 
>> 
>> 2011/1/17 Jonathan Lundell <jlund...@pobox.com>
>> On Jan 17, 2011, at 9:38 AM, Martín Mulone wrote:
>>> return LOAD('plugin_comments','comments.load',args=[tablename, record_id, 
>>> page],ajax=True)
>>>  File 
>>> "/home/martin/Repositorios/google_appengine/web2py/gluon/compileapp.py", 
>>> line 145, in __call__
>>>    extension=extension)
>>>  File "/home/martin/Repositorios/google_appengine/web2py/gluon/html.py", 
>>> line 262, in URL
>>>    acf = rewrite.map_url_out(application, controller, function, args, r or 
>>> _request)
>>>  File "/home/martin/Repositorios/google_appengine/web2py/gluon/rewrite.py", 
>>> line 867, in map_url_out
>>>    map = MapUrlOut(application, controller, function, args, request)
>>>  File "/home/martin/Repositorios/google_appengine/web2py/gluon/rewrite.py", 
>>> line 722, in __init__
>>>    self.domain_application = self.request.env.domain_application
>>> AttributeError: 'NoneType' object has no attribute 'env'
>>> 
>>> I start to test, but I have this error In GAE
>>> 
>> 
>> Thanks, Martín. Is this the current trunk?
>> 
>> What's happening is that LOAD is calling URL in a peculiar way (Massimo, 
>> would you take a look, please?). It's making this call:
>> 
>> html.URL(request.application,c,f, args=args,vars=vars,extension=extension)
>> 
>> ...which means that URL isn't able to pass request on to the URL rewriter.
>> 
>> As a temporary workaround, you can do the URL rewriting yourself by adding a 
>> url= argument to your LOAD call:
>> 
>>       ..., url=URL(r=request, c='plugin_comments', f='comments.load', 
>> args=[tablename, record_id, page])
>> 
>> in which case you don't have to pass those args to LOAD (but I think it does 
>> no harm).
>> 
>> 
>> Massimo, I think that LOAD's call to html.URL needs to include request, or 
>> else simply call URL, which will take care of it automatically. Do you see 
>> any reason not to do that? (This will be a non-problem once we have 
>> request-scope globals available in gluon.)
>> 
>> 
>> 
>> -- 
>> Pablo Martín Mulone (mar...@tecnodoc.com.ar)
>> http://www.tecnodoc.com.ar/
>> Paraná, Entre Ríos, Argentina (CP 3100).
>> 
>> My blog: http://martin.tecnodoc.com.ar
>> Expert4Solution Profile: 
>> http://www.experts4solutions.com/e4s/default/expert/6
>> 
>> 
> 
> 


Reply via email to