Popen and Razor client
donn at u.washington.edu
Fri Aug 23 15:59:26 EDT 2002
Quoth Toorop <toorop at cyborgnation.org>:
| Bonjour ,
| First escuse my english.....
(It is not perfect, I must say, but it has not kept you from
delivering a very clear statement of your problem.)
| Second : i want to make a razor client with python in order to add
| this function to my mail scanner (which is in python too).
| But i'm not ok with popen.
| The normal use of razor is :
| $ cat mail | razor-check
| If the exit status of razor-check is 1, the mail is ok, if the exit
| status is 0 the mail is considered has spam for razor.
| In my script, the mail to test is in a string :test_spam.
| My script :
| def is_spam_for_razor(test_spam) :
| import popen2
| print reponse2
| But has you can expect, it doesn't work, the script wait, wait,wait...
| If someone could help me.
I suggest you move the last line, out_razor.close(), to before the
in_razor.readline(). That will tell razor-check that there's no
more data, and it can finish up.
Then you will of course want to refine this program to determine
what its exit status was, 0 or not. If you replace popen2.popen2(cmd)
with popen2.Popen3(cmd), you'll a class instance with fromchild and
tochild members and a wait() method; os.WEXITSTATUS(xx.wait()) is
razor's exit status.
Donn Cave, donn at u.washington.edu
More information about the Python-list