Я хочу использовать Twisted для некоторого базового FTP-сервера, как в этом примере :
from twisted.protocols.ftp import FTPFactory, FTPRealm
from twisted.cred.portal import Portal
from twisted.cred.checkers import AllowAnonymousAccess, FilePasswordDB
from twisted.internet import reactor
#pass.dat looks like this:
# jeff:bozo
# grimmtooth:bozo2
p = Portal(FTPRealm('./'), (AllowAnonymousAccess(), FilePasswordDB("pass.dat")))
f = FTPFactory(p)
reactor.listenTCP(21, f)
reactor.run()
... с одной простой настройкой: я хочу запустить событие, когда загрузка файла (STOR) успешно завершена, чтобы мой пользовательский код мог адекватно обрабатывать этот файл.
Я не нашел документации для FTPFactory или FTP, которая помогла бы мне в этом. Должен ли я перегружать объект FTP или какой-либо другой объект? Как все подключить?
В прошлом я делал простые пользовательские HTTP-серверы с искажениями, и это было приятно легко, но я почти не могу найти материала о FTP.