Martha Zimet
zimet at manray.com
Fri Feb 22 20:06:47 EST 2008
I got it work by adding the following: import subprocess ... ... p = subprocess.Popen(command, stdout=subprocess.PIPE) for line in p.stdout: req.write(line) req.write(p.wait()) ... I still don't know why the other way didn't work, but I am fine now. On Fri Feb 22 18:48 , argriffi sent: >What I meant was that there are at least a couple of problems with this >line. >First, you probably want "output" instead of "ouput". >Second, you probably want "read()" instead of "read". >If you've already tried those versions then I'm just being dense :) > > >Martha Zimet wrote: >> My bad.. I also tried that in my various versions >> of the code. Same result. >> >> On Fri Feb 22 18:39 , argriffi sent: >> >> >>> ouput = os.popen(command).read >>> >>> >>> >>> >>> >>> >>> >>> Martha Zimet wrote: >>> >>>> I am attempting to call os.system and os.popen from within >>>> a mod_python script and nothing happens. That is, the commands >>>> perform no action. I am attempting to use os.system and os.popen >>>> to execute wget, and I wonder if there any tricks that I am not >>>> aware of. I have been googling and didn't find anything useful. >>>> Any assistance would be appreciated. >>>> >>>> Here is some code where 'update' is called from an HTML form. >>>> I have tried both os.system and os.popen with the same result. >>>> I read about Popen, rather than os.popen, but that does not >>>> seem to exist in my implementation. >>>> >>>> Thanks in advance. >>>> >>>> Regards, >>>> >>>> /martha >>>> >>>> from mod_python import apache >>>> import cgi >>>> import pg >>>> from cgi import escape >>>> from urllib import unquote >>>> import sys >>>> import os >>>> >>>> def update(req): >>>> >>>> # The getfirst() method returns the value of the first field >>>> # with the name passed as the method argument >>>> host = req.form.getfirst('host', '') >>>> user = req.form.getfirst('user', '') >>>> password = req.form.getfirst('password', '') >>>> >>>> # Escape the user input to avoid script injection attacks >>>> host = cgi.escape(host) >>>> user = cgi.escape(user) >>>> password = cgi.escape(password) >>>> >>>> try: >>>> output = '' >>>> command = "wget --user %s --password %s >>>> http://%s/svn/backend/able1.0/db/db.sql" % (user, password, host) >>>> req.write(command) >>>> req.write('\n') >>>> ouput = os.popen(command).read >>>> req.write(output) >>>> req.write('\n') >>>> >>>> except Exception, e: >>>> r = sys.exc_info() >>>> generator = (str(x) for x in r) >>>> newstring = ''.join(generator) >>>> req.write(newstring) >>>> req.write('\n') >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Mod_python mailing list >>>> Mod_python at modpython.org >>>> http://mailman.modpython.org/mailman/listinfo/mod_python >>>> >>>> >> >> >> >
|