
    h                         S r SSKrSSKJr  SSKJrJrJr  SSKJ	r	  SSK
JrJrJr   " S S\R                  \R                  5      rS	 rg)
z>
I am the support module for making a ftp server with twistd.
    N)internet)checkersportalstrcred)ftp)	deprecateusageversionsc                   ~    \ rS rSrSr/ SQ/ SQ/ SQ/r\R                  " S\R                  " SS90S	9r	S
r
S rS rSrg)Options   zP[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                     [         R                  R                  " U /UQ70 UD6  U R                  [        R
                  " 5       5        g )N)r	   r   __init__
addCheckerr   AllowAnonymousAccess)selfakws      V/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/twisted/tap/ftp.pyr   Options.__init__"   s3    t.a.2.5578    c           	          XS'   [         R                  " U R                  [        R                  " SSSS5      5      n[
        R                  " U[        SS9  U R                  [        R                  " USS	95        g
)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+   Options.opt_password_file&   sd    
 !)_33""H$4$4YAq$I
 	c$61E//EFr!    N)__name__
__module____qualname____firstlineno__synopsisoptParametersr	   CompletionsCompleteDirscompDatalongdescr   r+   __static_attributes__r4   r!   r   r   r      sS    H 	5KIM   E..5KLMH H9
Gr!   r   c                 v   [         R                  " 5       n[         R                  " U S   5      n[        R                  " X R                  S/ 5      5      nU S   Ul        U S   Ul        X1l        [         R                  Ul	         [        U S   5      n[        R                  " XA5      $ ! [         a    Sn N$f = f)Nr   credCheckersr   r   iI  )r   
FTPFactoryFTPRealmr   Portalgettldr   FTPprotocolintKeyErrorr   	TCPServer)configfr   r   portnos        r   makeServicerO   3   s    AVF^$AaNB78A6NAE_-AOHAJVF^$ f((  s   B) )B87B8)__doc__r-   twisted.applicationr   twisted.credr   r   r   twisted.protocolsr   twisted.pythonr   r	   r
   r   AuthOptionMixinrO   r4   r!   r   <module>rV      sA     ( 2 2 ! 5 5GemmW44 GB)r!   