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:

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 )

External Method that calls the C++ program:
Id ExecCGI
Title   Test
Function name  xCGI
Python module file (without suffix)  ExecCGI

DTML Method that calls the External Method:
<dtml-var standard_html_header>
<h2><dtml-var title_or_id></h2>
   <dtml-let cmdLine="'./websim'">
     <dtml-var "ExecCGI(cmdLine)">
<dtml-var standard_html_footer>

Traceback (innermost last):
  File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 214, in
  File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 179, in
  File /usr/local/Zope/lib/python/Zope/__init__.py, line 202, in
    (Object: ElementWithAttributes)
  File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 165, in
  File /usr/local/Zope/lib/python/ZPublisher/mapply.py, line 160, in mapply
    (Object: TestWS)
  File /usr/local/Zope/lib/python/ZPublisher/Publish.py, line 102, in
    (Object: TestWS)
  File /usr/local/Zope/lib/python/OFS/DTMLMethod.py, line 150, in __call__
    (Object: TestWS)
  File /usr/local/Zope/lib/python/DocumentTemplate/DT_String.py, line 502,
in __call__
    (Object: TestWS)
  File /usr/local/Zope/lib/python/DocumentTemplate/DT_Let.py, line 145, in
    (Object: cmdLine="'./websim'")
  File /usr/local/Zope/lib/python/DocumentTemplate/DT_Util.py, line 335, in
    (Object: ExecCGI(cmdLine))
    (Info: ExecCGI)
  File <string>, line 0, in ?
  File /usr/local/Zope/lib/python/Products/ExternalMethod/ExternalMethod.py,
line 248, in __call__
    (Object: ExecCGI)
    (Info: (('./websim',), {}, None))
  File /usr/local/Zope/Extensions/ExecCGI.py, line 11, in xCGI
TypeError: (see above)

File Permissions in /usr/local/Zope/Extensions/:
-rwxr-xr-x   1 ewalstad users         318 May 20 17:31 ExecCGI.py
-rw-r--r--   1 ewalstad users         576 May 20 17:03 ExecCGI.pyc
-rwxr-xr-x   1 ewalstad users      336081 May 20 17:13 websim

Any help is GREATLY appreciated!



Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-dev )

Reply via email to