Christian Theune wrote:
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?
Oh, which others are there?
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.
FTP and HTTP PUT.
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.
I think we'll have to :(. There have been lots of documented uses of
- Change the current behavior and make write() act like Python's
Perhaps in a new interface?
Zope3-dev mailing list