o b@sndZddlZddlmZddlmZmZmZddlm Z ddl m Z m Z m Z Gddde jejZd d ZdS) z> I am the support module for making a ftp server with twistd. N)internet)checkersportalstrcred)ftp) deprecateusageversionsc@sReZdZdZgdgdgdgZejdejddidZd Z d d Z d d Z dS)OptionszP[options]. WARNING: This FTP server is probably INSECURE do not use it. )portp2121zset the port number)rootrz/usr/local/ftpz define the root of the ftp-site.) userAnonymous anonymouszName of the anonymous user.rzroot of the ftp site)descr) optActionsrcOs,tjj|g|Ri||tdS)N)rr __init__ addCheckerrAllowAnonymousAccess)selfakwr1/usr/lib/python3/dist-packages/twisted/tap/ftp.pyr"szOptions.__init__c CsJ||d<t|jtdddd}tj|tdd|t j |dd d S) z Specify a file containing username:password login info for authenticated connections. (DEPRECATED; see --help-auth instead) z password-fileTwisted r)category stacklevelT)cacheN) rgetDeprecationWarningStringopt_password_filer VersionwarningswarnDeprecationWarningrrFilePasswordDB)rfilenamemsgrrrr%&s zOptions.opt_password_fileN) __name__ __module__ __qualname__synopsis optParametersr Completions CompleteDirscompDatalongdescrr%rrrrr s r cCst}t|d}t||dg}|d|_|d|_||_tj|_ zt |d}Wn t y9d}Ynwt ||S)Nr credCheckersrr iI)r FTPFactoryFTPRealmrPortalgettldrFTPprotocolintKeyErrorr TCPServer)configfrr portnorrr makeService3s    rD)__doc__r'twisted.applicationr twisted.credrrrtwisted.protocolsrtwisted.pythonrrr r AuthOptionMixinrDrrrrs   !