[Twisted-Python] IFinishableConsumer in twisted.protocols.ftp.IFinishableConsumer

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. Thanks! -- Adi Roiban

On Apr 3, 2014, at 1:13 AM, Adi Roiban <adi@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 I think the docs should be changed to reflect reality rather than the other way around. We can just remove the mention of IFinishableConsumer and document that in FTP. -glyph

On 09:59 am, glyph@twistedmatrix.com wrote:
On Apr 3, 2014, at 1:13 AM, Adi Roiban <adi@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
participants (3)
-
Adi Roiban
-
exarkun@twistedmatrix.com
-
Glyph