
    Wwg
                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ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 d	d
gZde dZdej,                  dedefdZ ej2                  dd	       ej4                  de       ej4                  d ej6                  dd             ej4                  de       ej4                  de       ej:                  ddde       ej:                  ddded d!       ej:                  d"d#de      ej<                  dededededed$ed%efd&                                                               Zy)'    )OptionalN)cli_root)	CLIConfig)DEFAULT_CONFIG_FILEpyhanko_exception_manager)_index_pageloggerreadable_file)ConfigurationError)QRStampStyleqr_stamp_filetext_stamp_filestampselect_stylez2Using stamp styles requires a configuration file (z by default).ctx
style_nameurlc                    | j                   j                  }|s|sy t        j                  t              	 |j                  |      }|r%t        |t              st        j                  d      |s%t        |t              rt        j                  d      |S # t        $ rE}t        j                  |j                  |       t        j                  |j                        d }~ww xY w)N)exc_infozAThe --stamp-url parameter is only meaningful for QR stamp styles.z/QR stamp styles require the --stamp-url option.)objconfigclickClickException_CONFIG_REQUIRED_MSGget_stamp_styler   r	   errormsg
isinstancer   )r   r   r   
cli_configstylees         Q/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko/cli/commands/stamp.pyr   r      s    &)ggnnJ""#788***:6 :e\2""O
 	
 Z|4""=
 	
 L  *QUUQ'""155))*s   B 	C% A C  C%zstamp PDF files)helpnameinfile)typeoutfileTF)writabledir_okayxyz--style-namez%stamp style name for stamp appearance)r#   requiredr&   z--pagez)page on which the stamp should be applied   )r#   r,   r&   defaultshow_defaultz--stamp-urlz$QR code URL to use in QR stamp stylepage	stamp_urlc           
          | j                   j                  }|t        j                  t              t               5  t        | ||      }	t        |      }
|rt        |||	|
|||       nt        |||	|
||       d d d        y # 1 sw Y   y xY w)N)	dest_pager*   r+   r   )r3   r*   r+   )
r   r   r   r   r   r   r   r   r   r   )r   r%   r'   r*   r+   r   r0   r1   r   stamp_stylepage_ixs              r"   r   r   .   s    H '*ggnnJ""#788	"	$ "3
I>d#! 1  s   ?BB) typingr   r   pyhanko.cli._rootr   pyhanko.cli.configr   pyhanko.cli.runtimer   r   pyhanko.cli.utilsr   r	   r
   pyhanko.config.errorsr   pyhanko.stampr   r   r   __all__r   Contextstrr   commandargumentPathintoptionpass_contextr        r"   <module>rH      s     & ( N @ @ 4 F FN
#M+ emm  3 4 (w7}-	


D5 IJ##	0		 	4	 	/		   	
        K . 84rG   