[Zope3-dev] Re: zope.filerepresentation.interfaces.IWriteFile

Christian Theune ct at gocept.com
Fri Sep 29 04:06:27 EDT 2006


Philipp von Weitershausen wrote:
> Christian Theune wrote:
>> Hi,
>>
>> as I stumbled over this recently, I'd like to bring this up for
>> discussion:
>>
>> There is an interface called IWriteFile in the module
>> zope.filerepresentation.interfaces.
>>
>> 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?

Humm. Looks like it's only that one =).

>> 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
> 
> Yes.

Too bad. :/

>> 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.

Yup. That's what I saw.

>> 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
> filerepresentation
> 
>> - Change the current behavior and make write() act like Python's
>>   file.write()
> 
> Perhaps in a new interface?

We probably have to. But to be honest? I totally understand every
programmer that will ask us "WTF?!?". Does anybody see a better way out
of that situation without deprecating anything again?

Christian

-- 
gocept gmbh & co. kg - forsterstraße 29 - 06112 halle/saale - germany
www.gocept.com - ct at gocept.com - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : http://mail.zope.org/pipermail/zope3-dev/attachments/20060929/dbfba550/signature.bin


More information about the Zope3-dev mailing list