ok thanks,
I think I was using URl as the os.path.join() function ;-)

cheers,
Stef
On 19-10-2010 21:37, mdipierro wrote:
> URL can take 0, 1, 2, or 3 un-named argument:
>
> URL(args=[],vars={})
> URL(function,args=[],vars={})
> URL(controller, function,args=[],vars={})
> URL(application, controller, function,args=[],vars={})
>
> args and vars and also optional but, if you pass values for them, they
> must be named.
>
> You should not specify application, controller and/or function if they
> are the same as the current ones.
>
> Massimo
>
>
>
> On Oct 19, 2:28 pm, Stef Mientki <[email protected]> wrote:
>>  thanks Massimo,
>>
>> but your answers just makes me more confuse ...
>>
>> On 19-10-2010 02:06, mdipierro wrote:> Mind that it is not a good idea to do 
>> this:
>>
>>> URL("call", "run", "Set_Page", args="77" )
>> well this the exactly what the books says at page 396,
>> and it although I don't understand why "call" and "run" is needed,
>> (but I think it has something todo with services)
>> but it works.
>>
>>> i.e. pass the application name. You want instead
>>> URL("run", "Set_Page", args="77" )
>> this is not in the book and it doesn't work (in my case) ;-)
>>
>> here a small overview:
>>   LSB_Menu.append ( [ 'Stef1',  URL("run","Set_Page","77") ])  ## invalid 
>> request
>>
>>   LSB_Menu.append ( [ 'Stef2',  URL("call","run","Set_Page","77") ])  ## 
>> internal error
>>   LSB_Menu.append ( [ 'Stef3',  "call/run/Set_Page/77"      ])  ## OK
>>   LSB_Menu.append ( [ 'Stef4',  URL("call/run/Set_Page/77") ])  ## OK
>>
>>   LSB_Menu.append ( [ 'Stef3',  "run/Set_Page/77"           ])  ## invalid 
>> function
>>   LSB_Menu.append ( [ 'Stef5',  URL("run/Set_Page/77")      ])  ## invalid 
>> function
>>
>> What am I doing wrong ?
>>
>> thanks,
>> Stef
>>
>>> else if the app is renamed the links break.
>>> On Oct 18, 6:52 pm, Stef Mientki <[email protected]> wrote:
>>>>  hello,
>>>> I'm trying to call a service from menu buttons,
>>>> and I read somewhere in the manual, you should always use URL()
>>>> Now this works:
>>>>   LSB_Menu.append ( [ 'Stef3',"call/run/Set_Page/77" ])
>>>> But the following don't (while printing the URL result, looks ok), why ??
>>>>   #LSB_Menu.append ( [ 'Stef4',URL("call", "run", "Set_Page", args="77" ) 
>>>> ])
>>>>   #LSB_Menu.append ( [ 'Stef5',URL("call", "run", "Set_Page", vars="77" ) 
>>>> ])
>>>>   #LSB_Menu.append ( [ 'Stef5',URL("call", "run", "Set_Page", "77" )])
>>>> # this is the service
>>>> from gluon.tools import Service
>>>> service = Service(globals())
>>>> def call():
>>>>   return service()
>>>> @service.run
>>>> def Set_Page(Nr):
>>>>   return dict ( m='aap',b=99,c=Nr)
>>>> thanks,
>>>> Stef Mientki
>>

Reply via email to