Massimo, any ideas?
On Sep 18, 2010, at 1:24 PM, Avik Basu wrote:
>
> I put this:
> {{=URL.__name__}}
>
> in the view of my index page and it showed
> URL
>
> (not _URL as you said)
>
>
> Also, I don't know if its helpful to mention that the latest format
> for the URL function is not working anywhere in my app, not just in
> appadmin. So, if I put:
>
> {{=URL('index')}}
>
> in my index page, I get the same syntax error that I had in appadmin.
That's good to know.
You could try this (you'll need to import gluon.html):
{{=gluon.html._gURL(request).__name__}}
That's what the global URL should be.
I think you were saying that this works OK in the other apps, right? You could
stick similar logic into welcome, for comparison purposes, good vs bad. You
might have to delete the welcome/compiled directory.
By way of background, the URL logic was updated not all that long ago. Have a
look at html._gURL, and then compileapp.build_environment() to see how it's
being used. URL is being replaced by the closure (I think it's a closure)
_gURL(request), so the value of request gets bound to the URL call, without
having to supply it all the time.
Also, a single argument to the original URL is treated as the application,
whereas the closure treats it as the function. We see the former in the syntax
error print below, more evidence that we're not invoking the closure.
>
> On Sep 18, 4:10 pm, Jonathan Lundell <[email protected]> wrote:
>> On Sep 18, 2010, at 12:52 PM, Avik Basu wrote:
>>
>>
>>
>>> Line 219 of gluon/compileapp.py is as you described it. I also deleted
>>> the whole gluon directory and downloaded the latest source of web2py
>>> before restarting the server. Also, as far as I can tell, I am not
>>> doing anything tricky with Globals or the URL symbol in my models.
>>
>>> I now get the following syntax error:
>>
>>> SyntaxError: URL: a=index c=None f=None r=None u=URL
>>
>> Thanks.
>>
>> I realized after I sent that last request that the __name__ of URL might not
>> be significant at this point, because we're inside the URL() function.
>>
>> This might be worth a try. In appadmin.py, near the beginning (after the
>> imports, but before response.menu is set):
>>
>> logger = logging.getLogger('web2py')
>> logger.warning('appadmin url.name=%s' % URL.__name__)
>>
>> What you *should* see is _URL. That's what I see if I stick it in my own
>> appadmin.
>>
>>
>>
>>
>>
>>> On Sep 18, 3:33 pm, Jonathan Lundell <[email protected]> wrote:
>>>> On Sep 18, 2010, at 11:52 AM, Avik Basu wrote:
>>
>>>>> After restarting the server, I get the following error:
>>
>>>>> SyntaxError: URL: a=index c=None f=None r=None
>>
>>>> I was afraid of that, and I can't explain it.
>>
>>>> Please check that line 219 of gluon/compileapp.py is:
>>
>>>> environment['URL'] = html._gURL(request)
>>
>>>> And you might want to quit your server, delete all the .pyc files in
>>>> gluon, and restart.
>>
>>>> Do you do anything tricky with globals() or the URL symbol in your models?
>>
>>>> And let's try one more printing attempt:
>>
>>>> if not (application and controller and function):
>>>> if r:
>>>> msg = 'URL: a=%s c=%s f=%s r.a=%s r.c=%s r.f=%s' %
>>>> (application,controller,function,r.application,r.controller,r.function)
>>>> else:
>>>> msg = 'URL: a=%s c=%s f=%s r=%s u=%s' %
>>>> (application,controller,function,r,URL.__name__)
>>>> raise SyntaxError, msg
>>
>>>>> On Sep 18, 2:46 pm, Jonathan Lundell <[email protected]> wrote:
>>>>>> On Sep 18, 2010, at 11:40 AM, Avik Basu wrote:
>>
>>>>>>> When I replace the code in gluon/html.py, I still keep getting the
>>>>>>> same SyntaxError ('not enough information to build the url') which
>>>>>>> seems strange since that is not even in the code anymore.
>>
>>>>>>> I am sort of new to debugging the gluon code so I maybe making some
>>>>>>> simple mistake. I did delete the html.pyc file. Do I need to restart
>>>>>>> the server?
>>
>>>>>> I would assume so, given the message, and especially if you're not
>>>>>> seeing html.pyc getting recreated.
>>
>>>>>>> On Sep 18, 2:31 pm, Jonathan Lundell <[email protected]> wrote:
>>>>>>>> On Sep 18, 2010, at 9:46 AM, Avik Basu wrote:
>>
>>>>>>>>> Sure, I'm happy to help debug. Send me the print statements when you
>>>>>>>>> get a chance.
>>
>>>>>>>> FWIW, I just did the same thing (move the current appadmin into my own
>>>>>>>> app) and it seems to work OK; at least I can access appadmin/index OK.