Ridzwan Aminuddin wrote at 2007-2-12 19:41 -0800:
>This external method is triggered in my DTML code. I've created other external
>before so i know i've done it right.. but the os.system() command for java
>doesn't seem to work. I've tried to use other commands such as "ls" which
> command = "ls"
> whatisread = os.popen(command).read()
> print whatisread
Thus, you have found out that the problem is not with "ExternalMethod"
or "popen" in principle but with "java" calls done this way.
I would expect that "java" cannot be executed (maybe, because the
"PATH" variable is different when run from Zope and "java" is not
on this "PATH") or that "java" is executed but dislikes something
in the environment.
In both cases, I would expect some problem message on "stderr".
Thus, I (in your place) would check how I could capture the "stderr" of
the "popen" process and carefully look at it.
One possibility would be to redirect "stderr" in the "popen" command
itself ("... >> /tmp/java.stderr").
In principle, it is possible to start "java" from an "ExternalMethod"
with "os.system" and friends.
We do this all the time.
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -