U
    <ßôg?  ã                   @   sŠ   d dl Z d dlmZmZ d dlZd dlmZ e  d¡Zdd„ Z	ej
dddd	Zej
ddd
Zdd„ Zdeeeeeej f dœdd„ZdS )é    N)ÚOptionalÚTuple)ÚfieldsÚclic                   C   s   t  t jddd¡ d S )NzgWARNING: passphrase is empty. If you intended to use an unencrypted private key, use --no-pass instead.T)Zbold)ÚclickZechoÚstyle© r   r   ú5/tmp/pip-unpacked-wheel-w101_d3s/pyhanko/cli/utils.pyÚ_warn_empty_passphrase   s    ýÿr
   TF)ÚexistsÚreadableÚdir_okay)Úwritabler   c                 C   sT   z,t | ƒ}|st‚|dkr$|d W S |W S W n" tk
rN   t d|  ¡‚Y nX d S )Nr   é   z=Sig field parameter PAGE should be a nonzero integer, not %s.)ÚintÚ
ValueErrorr   ÚClickException)ÚpageÚpage_ixr   r   r	   Ú_index_page   s    

ÿÿr   )ÚspecÚrequire_full_specÚreturnc           
      C   s¦   z|   d¡\}}}W n0 tk
rD   |r4t d¡‚n| d f Y S Y nX t|ƒ}ztt|  d¡ƒ\}}}}	W n tk
rˆ   t d¡‚Y nX |tj||||||	fdfS )Nú/z;Sig field spec should be of the form PAGE/X1,Y1,X2,Y2/NAME.ú,z9Sig field parameters X1,Y1,X2,Y2 should be four integers.)Zsig_field_nameZon_pageÚbox)	Úsplitr   r   r   r   Úmapr   r   ÚSigFieldSpec)
r   r   r   r   Únamer   Úx1Úy1Úx2Úy2r   r   r	   Úparse_field_location_spec,   s(    ÿÿ
  
ÿr$   )T)ÚloggingÚtypingr   r   r   Zpyhanko.signr   Ú	getLoggerÚloggerr
   ÚPathZreadable_fileZwritable_filer   ÚstrÚboolr   r$   r   r   r   r	   Ú<module>   s   

 ÿ þ