as I stumbled over this recently, I'd like to bring this up for discussion:

There is an interface called IWriteFile in the module

It defines one method "write(data)" with the doc string:

"Update the file data"

There are some problems I have with this:

a) The interface is yet another interface for doing a file-like object.
How many of those are around?

b) It *seems intended* not to be really file-like but that "update the
file data" means: writing to this will replace all previous data

c) The doc string is IMHO underspecified (I asked 3 other developers in
the office. One of them said "it will replace the data on the second
call", one said "it will append data like the file object", the third
wasn't sure but was in favor of appending data)

This interface is used only in very few places in Zope.

I'm not sure what to do now, but I think something needs to be changed.
Here are some options:

- Make the doc string more explicit. (That should happen anyway)
- Keep the current behavior.
- Change the current behavior and make write() act like Python's


PS: This is yet another example where we end up with an API that we
declared stable without sufficient exposure IMHO.

gocept gmbh & co. kg - forsterstra├če 29 - 06112 halle/saale - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development

Attachment: signature.asc
Description: OpenPGP digital signature

Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to