U
    <gG                     @   s  d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d	d
gZejddde jde dde jdddedddddd	 Zejddde jde dde jde dde jdddddde jddd d!d"d
 ZdS )#    N)signing)pyhanko_exception_manager)parse_field_location_spec)IncrementalPdfFileWriter)PdfFileReader)copy_into_new_writer)fieldslist_sigfieldsadd_sig_fieldlistzlist signature fields)namehelpinfilerb)typez--skip-statuszdo not print statusFT)r   requiredr   is_flagdefaultZshow_defaultc              	   C   st   t  d t| dd}t|}t|D ]>\}\}}}|rDt| q&t| d|d krZdnd  q&W 5 Q R X d S )NFstrict:ZEMPTYZFILLED)r   r   r   Zenumerate_sig_fields	enumerateclickZecho)r   Zskip_statusrZ
field_infoixr   valueZ	field_ref r   ?/tmp/pip-unpacked-wheel-w101_d3s/pyhanko/cli/commands/fields.pyr	      s    

Z	addfieldsz)add empty signature fields to a PDF fieldoutfilewbz--fieldzPAGE/X1,Y1,X2,Y2/NAMEz&Field specification (multiple allowed))metavarmultipler   r   z--resavezAResave the PDF document instead of creating an incremental update)r   r   c              	   C   s   t  p |rtt| dd}nt| dd}|D ](}t|\}}|d k	sJtt|| q.|| | 	  |	  W 5 Q R X d S )NFr   )
r   r   r   r   r   AssertionErrorr   Zappend_signature_fieldwriteclose)r   r   fieldZresavewritersr   specr   r   r   r
   $   s    
)r   Zpyhanko.cli.commands.signingr   Zpyhanko.cli.runtimer   Zpyhanko.cli.utilsr   Z$pyhanko.pdf_utils.incremental_writerr   Zpyhanko.pdf_utils.readerr   Zpyhanko.pdf_utils.writerr   Zpyhanko.signr   __all__commandargumentZFileoptionboolr	   r
   r   r   r   r   <module>   sN   	 