
     h                     z    d dl Z d dlmZmZ d dlZd dlmZ d dlmZ d dl	m
Z
  G d d          Zded	efd
Zd ZdS )    N)BinaryIOOptional)crypt)
AuthStatus)IncrementalPdfFileWriterc                   0    e Zd ZdedefdZdefdZd ZdS )OpenForSigninginfile_pathlenientc                 0    || _         || _        d | _        d S N)r
   r   handle)selfr
   r   s      ^/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/pyhanko/cli/commands/signing/utils.py__init__zOpenForSigning.__init__   s    &*.    returnc                    t          | j        d          x| _        }t          || j                   }|j        j        r|j        j        }t          |t          j
                  r\t          j        d| j        z            }|                    |          }|j        t          j        k    rt!          j        d          nBt          |t          j                  rt!          j        d          t!          j        d          |S )Nrb)strictz"Password for encrypted file '%s': )promptz#Invalid password for encrypted filez:Public-key document encryption is not supported in the CLIzRInput file appears to be encrypted, but appropriate credentials are not available.)openr
   r   r   r   prev	encryptedsecurity_handler
isinstancer   StandardSecurityHandlergetpassencryptstatusr   FAILEDclickClickExceptionPubKeySecurityHandler)r   infilewritershpdf_passauths         r   	__enter__zOpenForSigning.__enter__   s   #D$4d;;;f)&T\9IJJJ ;  	-B"e;<< "?A&'   ~~h//;*"333.=   4 B ;<< *P   *5   r   c                 J    | j         r| j                                          d S d S r   )r   close)r   exc_typeexc_valexc_tbs       r   __exit__zOpenForSigning.__exit__-   s0    ; 	 K	  	 r   N)	__name__
__module____qualname__strboolr   r   r*   r0    r   r   r	   r	      sa        /C /$ / / / /
3    8         r   r	   r
   r   c                 "    t          | |          S r   )r	   )r
   r   s     r   open_for_signingr8   2   s    +w///r   c                 .    d }| j         j        }|d|i}|S )Nurl)obj	stamp_url)ctxtext_paramsr<   s      r   get_text_paramsr?   6   s'    K!Ii(r   )r   typingr   r   r"   pyhanko.pdf_utilsr   pyhanko.pdf_utils.cryptr   $pyhanko.pdf_utils.incremental_writerr   r	   r4   r5   r8   r?   r6   r   r   <module>rD      s     % % % % % % % %  # # # # # # . . . . . . I I I I I I$  $  $  $  $  $  $  $ N0# 0 0 0 0 0    r   