[Zope] Re: [Zope-dev] Extrenal method unable to run the os.popen()
or os.system() commands
Ridzwan Aminuddin
wanster at inbox.com
Fri Feb 9 11:43:28 EST 2007
> -----Original Message-----
> From: lists at zopyx.com
> Sent: Fri, 09 Feb 2007 09:51:37 +0100
> To: wanster at inbox.com, zope-dev at zope.org
> Subject: Re: [Zope-dev] Extrenal method unable to run the os.popen() or
> os.system() commands
>
>
>
> --On 9. Februar 2007 00:47:09 -0800 Ridzwan Aminuddin <wanster at inbox.com>
> wrote:
>
>> Hi guys...
>>
>> I wrote an external python script which would grab some HTML and so some
>> text and file preprocessing.
>>
>> The script then is supposed to run come command line methods... using
>> os.system() .. however when i run the script triggered by my DTML code
>> it
>> manages to do the grabbing of the html and saving it into a file ans
>> stuff... but once it hits the portion where its supposed to run the
>> command lines.. it just skips everything and goes right to the end....
>> after which this error message is shown :
>>
>> Error Type
>> IOError
>> Error Value
>> [Errno 2] No such file or directory:
>> '/var/lib/zope2.8/instance/plone-site/Extensions/output.txt' Request
>> made
>> at
>>
>
> You can resolve this issue on your own by checking why the file is
> generated in the wrong place or by it is looked up at the wrong
> place..adding some debug code or using pdb should be sufficient to track
> this down.
>
> -aj
Hi AJ!
Sorry about that, i will revert to the users list.
The problem with the script is that it does not execute the os.system() commands at all,
not that it generates the file at the wrong place or anything.
Do you know why this happens and how i can remedy it?
I seem to have found an old thread of someone facing the same problem but the suggestion
solution is not appropriate for my case. I have even made sure that the CLASSPATHS have
been set to the directory holding my .jar file
http://mail.zope.org/pipermail/zope-dev/2003-June/019918.html
Thanks again!
wan
Here is my code :
def removeIllegalChars( tgtString ):
import os
import sys
from yahoo.search.news import NewsSearch
import re
tgtString = re.sub('<([^!>]([^>]|\n)*)>', '', tgtString)
tgtString = re.sub('<([^>]([^>]|\n)*)>', '', tgtString)
tgtString = re.sub('\n', '', tgtString)
tgtString = re.sub('\t', '', tgtString)
tgtString = re.sub('\r', '', tgtString)
tgtString = re.sub(' ', '', tgtString)
if tgtString:
try:
tgtString = str(tgtString)
except UnicodeEncodeError:
tgtString = str(tgtString.encode('U8'))
return tgtString
def getYahooAPI():
import os
import sys
from yahoo.search.news import NewsSearch
import re
queryWord = "Singapore"
print ("Fetching data from YahooAPI with query : " + queryWord )
srch = NewsSearch('YahooDemo',query = "Singapore asean cup", language = 'en', results = 50)
info = srch.parse_results()
info.total_results_available
homedir = os.getcwd()
tgtFile = homedir + "/Extensions/InputString.txt"
writeFile = open(tgtFile, 'w')
for result in info.results:
writeFile.write("<Article>\n")
writeFile.write("<Title>\n")
writeFile.write(removeIllegalChars(result['Title'])+ "\n")
writeFile.write("<URL>\n")
writeFile.write(removeIllegalChars(result['ClickUrl']) + "\n")
writeFile.write("<Summary>\n")
writeFile.write(removeIllegalChars(result['Summary']) + "\n")
writeFile.write("<Date>\n")
writeFile.write(removeIllegalChars(result['PublishDate']) + "\n")
writeFile.write("<Source>\n")
writeFile.write(removeIllegalChars(result['NewsSource']) + "\n")
writeFile.write("<Body>\n")
writeFile.write(removeIllegalChars(result['Summary']) + "\n")
writeFile.write("<EndOfFile>")
writeFile.close
def runYahooSearch2(self):
import os
import sys
from yahoo.search.news import NewsSearch
import re
#-----------------------------------------------------------------------------------------------------------
# still trying to figure out how to get the absolute path to this script
# commands below work for windows... but not for linux. Need to find a platform
# independant one
# print 'sys.argv[0] =', sys.argv[0]
# homedir = os.path.dirname(sys.argv[0]) # for windows
# print 'path =', pathname
getYahooAPI()
homedir = os.getcwd()
homedir = homedir + "/Extensions"
command = "cd "+homedir
os.popen(command)
command = "java -jar "+ '"' + homedir + "/" + "ActiveLearningTools.jar" + '" ' + "prepArticles >> test.txt"
os.popen(command)
print "Completed step 1 : preparing the articles"
command = homedir + "/" + "vcluster " + "-zscores " + "ClutoMatrix" + " 2"
sysCode = os.system(command)
print "Completed step 2 : Clustering the articles using Cluto"
command = "java -jar "+ '"' + homedir + "/" + "ActiveLearningTools.jar" + '" ' + "processClusters >> output.txt"
sysCode = os.system(command)
filename = homedir +"/output.txt"
openfile = open(filename, 'r')
whatisread = openfile.read()
openfile.close()
#os.remove("output.txt")
return whatisread
More information about the Zope
mailing list