[Zope] error with simple python script loop

Dieter Maurer dieter at handshake.de
Fri Nov 24 14:58:45 EST 2006


Christian Steinhauer wrote at 2006-11-24 13:12 +0100:
>I have an problem with this little script. The script is in the zope
>file structure and it is an -Script (Python)- 
>
>The script should send 2 emails over the mailhost, but it sends 4
>emails. I have test this with maildrophost product too, same problem. I
>have test it on Zope 2.10.0 and Zope 2.64. The problem is the same -
>everytime. 
>
>This script produce the error:
>#### start ####
>for i in range(2):
>  subj = str(i) + ' range python'
>  context.MailHost.send('range test with python', "rec at mail.com",
>"sender at mail.com", subj)
>#### end ####
>
>This script produce no error: 
>#### start ####
>for i in range(2):
>  subj = str(i) + ' range python'
>  context.MailHost.send('range test with python', "rec at mail.com",
>"sender at mail.com", subj)
>return 'eof'
>#### end ####

Do you call your script directly from a browser?

In this case, a browser problem may be the reason for your observation.

The first variant (lacking a return) will effectively return "None",
a Python false value.

The ZPublisher will turn any Python false value into a 205 response
("no content"). Almost all browsers, I have met so far, handle
205 responses in a buggy way. Maybe, your browser will repeat the call...


I have seen several problem reports in mailing lists complaining that
IE under some (still obscur) circumstances repeat a request.


You should look into your "Z2.log" file (you may need to enable it
in the Zope configuration file) and verify whether your requests
are doubled....



-- 
Dieter


More information about the Zope mailing list