[Zope-dev] Extrenal method unable to run the os.popen()
oros.system() commands
Jonathan
dev101 at magma.ca
Tue Feb 13 07:30:25 EST 2007
----- Original Message -----
From: "Ridzwan Aminuddin" <wanster at inbox.com>
To: "Dieter Maurer" <dieter at handshake.de>; <zope-dev at zope.org>
Cc: <zope-dev at zope.org>
Sent: Monday, February 12, 2007 10:41 PM
Subject: Re: [Zope-dev] Extrenal method unable to run the os.popen()
oros.system() commands
> Hi!
>
> Thanks for your reply. Honestly, I'm not sure why the external method is
> skipped. I've tried several methods to debug and changed my python code to
> see the effects.
>
>
> I wrote another Java Jar. called test.jar that when executed prints out a
> line to stdout and creates a text file to the same directory that the jar
> is placed in. I placed this jar file as well as the external method python
> file in the Extensions directory
> /var/lib/zope2.8/instance/plone-site/Extensions
>
> This is how the external method looks like:
>
> def runYahooSearch2(self):
>
> import os
>
> homedir = os.getcwd()
> # on my machine homedir is /var/lib/zope2.8/instance/plone-site
> command = "java -jar "+ homedir + "/Extensions/test.jar"
> whatisread = os.popen(command).read()
> print whatisread
>
> This external method is triggered in my DTML code. I've created other
> external methods
> before so i know i've done it right.. but the os.system() command for
> java -jar just
> doesn't seem to work. I've tried to use other commands such as "ls" which
> works perfectly:
>
> command = "ls"
> whatisread = os.popen(command).read()
> print whatisread
>
> This will sucessfully list out all the files/folders in the working
> directory.
>
> Its just this java -jar which does not execute at all... I know it doesn't
> execute at all
> cos it doesn't output a file or print the string. If i manually type out
> into the terminal
> :
>
> java -jar /var/lib/zope2.8/instance/plone-site/Extensions/test.jar
>
> it works perfectly, it prints out the string as well as outputs a text
> file into the directory the jar file is in.
> But using the external method given above just gives me a blank output.
>
> I've also tried popen2:
For executing system commands I have used "commands.getstatusoutput(...)"
in external methods with no problems.
Jonathan
More information about the Zope-Dev
mailing list