In article <W6YEZWAjD+d6Ew59@jessikat.demon.co.uk>, Robin Becker <robin@jessikat.fsnet.co.uk> writes ...
yes I have the go4 book and I fully agree that one or other of the above patterns would be feasible. The problem is that the base medusa comes from Sam Rushing and Zope makes use of it. I guess since I already patch the Zope code I could just extend the patch, but the best solution would come from having two main players agree on such stuff. well I implemented Steve's first method by giving ftp_channel an attribute called recv_channel_class (defaulted to recv_channel from ftp_server). Then in FTPServer I modified zope_ftp_channel so that recv_channel_class was set to an appropriate class Zrecv_channel derived from recv_channel. Zrecv_channel only needed to override the handle_close method. Now I can have a proper file_sys ftp as well as the Zope one. -- Robin Becker