[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