Re: [Zope] Calling External Method...
Eric L. Walstad writes:
I am trying to invoke a C++ program from an external method. Platform is Linux. The C++ program returns HTML. Note that the Python function is working properly from the Python command line; That is, ExecCGI.xCGI("./websim") outputs all the expected html. I have placed the C++ program in the same folder as the ExecCGI module. The C++ program works from apache: here's an example of the program's output, which is what I'm trying to get into Zope:
http://63.203.42.146/cgi-bin/websim
ExecCGI module: import sys, os, string
def xCGI( cmdLine ): """ Run an external command and return its standard output as a string. """ f = os.popen( cmdLine ) lines = f.readlines() status = f.close() if status: raise "CGI returned error: %d" % status[1] return string.join( lines )
You have two problems here! First, your program returns a non-zero exit status. Second: "f.close()" returns a simple integer, not a sequence that may be indexed. Remove the "[1]" from status and you should see the nonzero exit status. Dieter
participants (1)
-
Dieter Maurer