[Twisted-Python] IFinishableConsumer in twisted.protocols.ftp.IFinishableConsumer
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Thu Apr 3 05:29:47 MDT 2014
On 09:59 am, glyph at twistedmatrix.com wrote:
>On Apr 3, 2014, at 1:13 AM, Adi Roiban <adi at roiban.ro> wrote:
>>Hi,
>>
>>Reading the producer/consumer docs I first found out that
>>
>>IFinishableConsumer api link is broken (link to
>>twisted.internet.interfaces):
>>http://twistedmatrix.com/documents/current/core/howto/producers.html#auto7
>>
>>Then I found out that IFinishableConsumer is defined in
>>twisted.protocols.ftp.IFinishableConsumer
>>
>>I was expecting to see the interface defined in
>>twisted.internet.interfaces .
>>
>>Should the broken link be fixed or interfaced moved ?
>>
>>I think that moving the interface should be safe, as old imports will
>>still work.
>
>Given that:
>
> 1. this interface has apparently worked this way for a long time,
> 2. work to overhaul these interfaces is ongoing in the 'tubes' branch
> 3. apparently nobody was using that method anyway since this is the
>first complaint I'm aware of
Furthermore, if you inspect the history of this interface, it *was* part
of twisted.internet.interfaces. It was moved to twisted.protocols.ftp
to reflect the fact that it is not a good interface in general and only
ftp-related uses of it should persist (and those only because ftp was
already using it and it was more trouble than someone felt like going to
to remove ftp's use of it altogether).
I am looking forward to the day when tubes will let us eliminate this
interface entirely.
See https://tm.tl/4580 and https://tm.tl/5942 for the history.
Jean-Paul
More information about the Twisted-Python
mailing list