
    Vh                         d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ dZd	Z eeej                         G d
 d             Z e       Zy)z;
Cred plugin for a file of the format 'username:password'.
    N)implementer)plugin)FilePasswordDB)IUsernameHashedPasswordIUsernamePassword)ICheckerFactoryz
This checker expects to receive the location of a file that
conforms to the FilePasswordDB format. Each line in the file
should be of the format 'username:password', in plain text.
zWarning: not a valid filec                   B    e Zd ZdZdZeZdZee	fZ
ej                  Zd Zy)FileCheckerFactoryz7
    A factory for instances of L{FilePasswordDB}.
    filez,Location of a FilePasswordDB-formatted file.c                     ddl m} |j                         st        d| j                  z         ||      j                         s%| j                  j                  t         d| d       t        |      S )z
        This checker factory expects to get the location of a file.
        The file should conform to the format required by
        L{FilePasswordDB} (using defaults for all
        initialization parameters).
        r   )FilePathz%r requires a filenamez: 
)
twisted.python.filepathr   strip
ValueErrorauthTypeisfileerrorOutputwriteinvalidFileWarningr   )self	argstringr   s      I/home/dcms/DCMS/lib/python3.12/site-packages/twisted/plugins/cred_file.pygenerateCheckerz"FileCheckerFactory.generateChecker+   se     	5 5EFF)$++-""&8%9I;b#IJi((    N)__name__
__module____qualname____doc__r   fileCheckerFactoryHelpauthHelpargStringFormatr   r   credentialInterfacessysstderrr   r    r   r   r
   r
      s2     H%HDO-/FG**K)r   r
   )r   r$   zope.interfacer   twistedr   twisted.cred.checkersr   twisted.cred.credentialsr   r   twisted.cred.strcredr   r    r   IPluginr
   theFileCheckerFactoryr&   r   r   <module>r.      s]   
  &  0 O 0  1  _fnn-) ) .): +, r   