
    Ϫf                         d Z ddlZddlmZ ddlmZmZmZ ddlm	Z	 ddl
mZmZmZ  G d dej                  ej                        Zd	 Zy)
z>
I am the support module for making a ftp server with twistd.
    N)internet)checkersportalstrcred)ftp)	deprecateusageversionsc                       e Zd ZdZg dg dg dgZ ej                  d ej                  d      i      Zd	Z	d
 Z
d Zy)OptionszP[options].
    WARNING: This FTP server is probably INSECURE do not use it.
    )portp2121zset the port number)rootrz/usr/local/ftpz define the root of the ftp-site.)userAnonymous 	anonymouszName of the anonymous user.r   zroot of the ftp site)descr)
optActionsr   c                     t        j                  j                  | g|i | | j                  t	        j
                                y )N)r	   r   __init__
addCheckerr   AllowAnonymousAccess)selfakws      1/usr/lib/python3/dist-packages/twisted/tap/ftp.pyr   zOptions.__init__"   s3    t.a.2.5578    c           	          || d<   t        j                  | j                  t        j                  dddd            }t        j                  |t        d       | j                  t        j                  |d	             y
)z
        Specify a file containing username:password login info for
        authenticated connections. (DEPRECATED; see --help-auth instead)
        zpassword-fileTwisted      r      )category
stacklevelT)cacheN)r   getDeprecationWarningStringopt_password_filer
   VersionwarningswarnDeprecationWarningr   r   FilePasswordDB)r   filenamemsgs      r   r)   zOptions.opt_password_file&   sf    
 !)_33""H$4$4YAq$I
 	c$61E//EFr   N)__name__
__module____qualname__synopsisoptParametersr	   CompletionsCompleteDirscompDatalongdescr   r)    r   r   r   r      sX    H 	5KIM !u  .E..5KLMH H9
Gr   r   c                 r   t        j                         }t        j                  | d         }t        j                  || j                  dg             }| d   |_        | d   |_        ||_        t         j                  |_	        	 t        | d         }t        j                  ||      S # t        $ r d}Y #w xY w)Nr   credCheckersr   r   iI  )r   
FTPFactoryFTPRealmr   Portalgettldr   FTPprotocolintKeyErrorr   	TCPServer)configfr   r   portnos        r   makeServicerJ   3   s    AVF^$AaNB78A6NAE_-AOAHAJVF^$ fa((  s   B( (B65B6)__doc__r+   twisted.applicationr   twisted.credr   r   r   twisted.protocolsr   twisted.pythonr   r	   r
   r   AuthOptionMixinrJ   r:   r   r   <module>rQ      sA     ( 2 2 ! 5 5GemmW44 GB)r   