I think you may be confusing push and pull MVC models.  web2py is a push 
model.  Consequently, views cannot call controllers, rather is the 
controller that is run and what it returns is applied to a predefined view.

Instead of printing the output, assign it to a variable and wrap it in a 
dictionary.  Return said dictionary...like so:

output = "Ping output goes here"
return dict(pingout=output)

If you don't have a view for your page, the default view will display 
the contents of the returned dictionary.  Otherwise, you can make a view 
that displays pingout like so:

{{=pingout}}

-tim

dave_mcgee wrote:
> Ok, I've worked on this some more and I've taken your recommendation
> to use a pure Python implementation available here (http://
> svn.pylucid.net/pylucid/CodeSnippets/ping.py)
>
> I have this set as a default.py controller in my web2py environment
> for my app project. Say, I wish to call this controller and run it
> from my app view  (When a user visits default/index.html the results
> from ping.py are displayed in it) - Is this hard to do?
>
> Thanks for your help guys - this is a major learning curve for me
>
>
>
> On Mar 20, 2:15 pm, dave_mcgee <daveomc...@gmail.com> wrote:
>   
>> Hi Tim! Thanks for the warm welcome and the assistance!
>>
>> Will work further on this today :)
>>
>> Regards,
>> Dave
>>
>> On Mar 20, 12:56 pm, Timothy Farrell <tfarr...@swgen.com> wrote:
>>
>>     
>>> Welcome to web2py!  We're glad you're here.
>>>       
>>> 1) To install win32 python extensions, the easiest way is to download
>>> and run the exe from:
>>>       
>>> http://sourceforge.net/project/platformdownload.php?group_id=78018
>>>       
>>> ...that corresponds to the version of Python you use.  Generally, when
>>> you see a setup.py script, you use that to install the package by
>>> upzipping the whole thing to a directory and then running: setup.py
>>> install.  Some packages will complain if you don't have a compiler
>>> installed because they want to compile some speedups.  In most cases you
>>> can run: setup.py install --without-speedups ...to get around that.
>>>       
>>> 2) Nope.  I tested your script and it works just fine as it is.  But it
>>> only accepts IP addresses (no domain names).
>>>       
>>> 3) I recommend that you use a more cross-platform solution.  See this
>>> page:http://stackoverflow.com/questions/316866/ping-a-site-in-python
>>>       
>>> -tim
>>>       
>>> dave_mcgee wrote:
>>>       
>>>> Hi everyone. I'm new enough to web2py so please be gentle! :)
>>>>         
>>>> I'm just involved in a small college project at the moment where we've
>>>> had an existing python script monitoring a number of nodes and
>>>> returning the results in the python GUI. I'm just moving onto trying
>>>> to integrate the project into a web2py web framework environment (I've
>>>> started today)
>>>>         
>>>> I'm currently reading through the manual but having difficulty getting
>>>> different pieces to work.
>>>>         
>>>> I wish to use the Win32 com module to integrate the functionality of
>>>> the ping command within my python script below. I'd apreciate it if
>>>> someone could guide me as how to integrate this script within a web
>>>> environment..
>>>>         
>>>> 1) Is it as simple as importing setup.py into my project in Web2py
>>>> from the win32 folder I extracted off source forge?
>>>>         
>>>> 2) Do I have to change any parameters, at all?
>>>>         
>>>> Any other help would be much apreciated! Script is below.. Thanks!
>>>>         
>>>> import win32com.client
>>>>         
>>>> wmi = win32com.client.GetObject(r"winmgmts:\\.\root\cimv2")
>>>>         
>>>> def Ping(host):
>>>>     col_items = wmi.ExecQuery("Select * from Win32_PingStatus Where
>>>> Address = '%s'" % host)
>>>>     for item in col_items:
>>>>         if item.StatusCode == 0:
>>>> # success
>>>>             print "Host ", item.Address
>>>>             print "Recorded Hops: ", item.RecordRoute
>>>>             print "Buffer Size: ", item.ReplySize
>>>>             print "Response Time: ", item.ResponseTime
>>>>             print "ResponseTimeToLive: ", item.ResponseTimeToLive
>>>>             print "Timeout: ", item.Timeout
>>>>             print "TimetoLive: ", item.TimetoLive
>>>>         
>>>> # ping node
>>>> Ping('192.168.1.3')
>>>>         
>>> --
>>> Timothy Farrell <tfarr...@swgen.com>
>>> Computer Guy
>>> Statewide General Insurance Agency (www.swgen.com)
>>>       
> >
>   

-- 
Timothy Farrell <tfarr...@swgen.com>
Computer Guy
Statewide General Insurance Agency (www.swgen.com)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to