[Zope] calling os.system using external method
J Cameron Cooper
jccooper@jcameroncooper.com
Wed, 25 Jun 2003 15:07:29 -0500
>
>
>I have an External method that uses os.system to execute
>a linux command on a local host. I am trying to pass a file name
>to the findDocs function (see below) to locate the location (path) of the
>wanted file and print it out on a dtml document. Can someone please show me
>how to make this work?
>
>Thanks in advanced for any suggestions.
>
>#Python script to find location/path of local file
>import os
>unixCommand = 'find /home/uploads/ -name %'
>def findDocs(arg):
> os.system(unixCommand%arg)
>
>DTML:
><dtml-call "externalMethodName(arg=fileName)">
>
>
I suspect you'll want to use one of the commands that allows you to get
the results of a system call. Without the Python docs in front of me, I
think that's 'os.popen' or similar. Maye you can do it with 'os.system',
but I don't do it enough to have memorized it.
Split the results from stdin into elements of a list(by newline,
probably), and call it with a list iterator (like dtml-in) to do your
rendering. Shouldn't be more that five or six lines.
--jcc