Maybe a web service is more suitable



Em 5 de abril de 2012 10:05, António Ramos <[email protected]> escreveu:

> ok,
> my pbx can run python scripts but these python scripts must reside in an
> internal folder of the pbx.
>
> So i have a script that calls the web2py script. So far so good?
> Next how do i call a module function from the command line, so i can pass
> this line to my script via os.system('python /home/user/web2py/web2py.py -S
> App/???/??? -etc')
>
>
>
>  2012/4/4 Massimo Di Pierro <[email protected]>
>
>> You should really not do it this way. The reload function is not a
>> controller and therefore does not belong there. If should go in a module.
>> You should import it from there and call it from where you need it.
>>
>>
>> On Wednesday, 4 April 2012 11:39:53 UTC-5, Ramos wrote:
>>>
>>> I have a PBX in linux that can call scripts in python
>>> I´m trying to call a script in my web2py app and pass some vars.
>>>
>>> i have a script in python that in the end calls another script
>>>
>>> os.system("python /../../web2py.py -S app/default/reload/ -M -A arg1")
>>>
>>>
>>> Thank you
>>> António
>>>
>>>
>>>
>>>
>>> 2012/4/4 Anthony <[email protected]>
>>>
>>>>  On Wednesday, April 4, 2012 12:16:46 PM UTC-4, Ramos wrote:
>>>>>
>>>>> i changed to another function "reload", so i can open my index in the
>>>>> browser
>>>>>
>>>>> executing  python web2py.py -S myapp/default/reload -M -A aaaa
>>>>>
>>>>> i get the error
>>>>> reload() takes exactly 1 argument (0 given)
>>>>>
>>>>
>>>> What exactly are you trying to do? I think the -A option only works if
>>>> you are running a script file via the -R option -- it doesn't pass
>>>> arguments to a controller function run with the -S option.
>>>>
>>>> python web2py.py -S myapp/default/reload -M
>>>>
>>>> is intended to execute the reload function in a Python shell. If you
>>>> want to start and stay in a Python shell in the environment of your
>>>> controller, you can do:
>>>>
>>>>  python web2py.py -S myapp/default -M
>>>>
>>>> and then at the Python shell command line you could do:
>>>>
>>>> >>> reload(arg1='myarg')
>>>>
>>>> or if reload() is an action (i.e., it doesn't take any arguments):
>>>>
>>>> >>> request.args.append('myarg')
>>>> >>> reload()
>>>>
>>>> and then the reload() function can access 'myarg' via request.args(0).
>>>>
>>>> Anthony
>>>>
>>>
>>>
>

Reply via email to