
    Ei                         d dl Z d dlZd dlmZ d dlmZ d Z G d d      Zd Z	d Z
ddZd	 Zdd
Zd Zd Ze j                   dk\  rd dlmZ y G d dej$                        Zy)    N)Pathc                    | sy g }| j                  d      D ]  }d|v r|j                  d      \  }}t        |      dz
  }t        |      dz
  }||k  r-|j                  t        ||dz         D cg c]  }| c}       i|j                  t        ||dz
  d      D cg c]  }| c}       |j	                  t        |      dz
          |S c c}w c c}w )N,-   )splitintextendrangeappend)numtextindicesnum_or_rangestartendis         N/home/agent/.friday_env/lib/python3.12/site-packages/pypdfium2_cli/_parsers.pyparse_numtextr   
   s    Gc* 
2,%++C0JE3JNEHNCs{E%Q,? @q @BE%Q,C Dq DFNN3|,q01
2 N !A Ds   /	C
	C
c                       e Zd Zd Zd Zy)_Rangec                      || _         || _        y Nr   stop)selfr   r   s      r   __init__z_Range.__init__!   s    
	    c                 8    | j                    d| j                   S )Nr   r   r   s    r   __repr__z_Range.__repr__%   s    **Qtyyk**r   N)__name__
__module____qualname__r   r!    r   r   r   r      s    +r   r   c                     d}d }g }| D ]O  }|dz   |k(  r|sA|j                         }n0|r|j                  t        ||             d }|j                  |       |}Q |r|j                  t        ||             |S )Nr   r   )popr   r   )pagenumsprevrange_startoutns        r   pagenums_rangerr-   (   s     DK
C 	6Q;!ggi

6+t45"JJqM	 

6+t,-Jr   c                     | s| S | D cg c]  }t        ||       }}t        | t              rt        |      }|S c c}w r   )round
isinstancetuple)lstn_digitsvresults       r   
round_listr6   @   sA    
*-.QeAx .F.#uvM /s   ;c                     | j                  dt        d       | j                  dd       |r| j                  dd t        d	       y y )
NinputzInput PDF document)typehelpz
--passwordz*A password to unlock the PDF, if encrypted)r:   z--pagesz"Page numbers and ranges to include)defaultr9   r:   )add_argumentr   r   )parserpagess     r   	add_inputr?   I   sb    
#  
 ;    7	 	 	
 r   c                 6    | j                  dt        dd       y )Nz
--n-digits   z<Number of digits to which coordinates/sizes shall be rounded)r9   r;   r:   )r<   r
   )r=   s    r   add_n_digitsrB   ]   s!    
M	  r   c                     t        j                  | j                  fd| j                  i|}|r|j	                          d| v r3| j
                  s't        t        |            D cg c]  }| c}| _        |S c c}w )Npasswordr>   )pdfiumPdfDocumentr8   rD   
init_formsr>   r   len)argsrG   kwargspdfr   s        r   	get_inputrL   f   sb    


TZZ
J$--
J6
JC$tzz!&s3x1Aa1
J 2s   %	A8c              #   ,   K   |  |E d {    y 7 wr   r%   )valueiterators     r   _postpeek_generatorrP   r   s     
KH$$s   
c                 T    	 t        |       }dt        ||       fS # t        $ r Y yw xY w)NT)FN)nextrP   StopIteration)rO   first_values     r   iterator_hasvaluerU   u   s:    @8n (h???  s    	'')   	   )BooleanOptionalActionc                   ,     e Zd Z fdZddZd Z xZS )rX   c                     g }|D ]>  }|j                  |       |j                  d      s&d|dd  z   }|j                  |       @ t        |   d||dd| y )Nz----no-   r   )option_stringsdestnargsr%   )r   
startswithsuperr   )r   r]   r^   rJ   _option_stringsoption_string	__class__s         r   r   zBooleanOptionalAction.__init__   sn     O!/ :&&}5 ++D1$+mAB.?$?M#**=9: GZO$aZSYZr   c                 p    || j                   v r(t        || j                  |j                  d              y y )Nr[   )r]   setattrr^   r`   )r   r=   	namespacevaluesrc   s        r   __call__zBooleanOptionalAction.__call__   s3     3 33	499-2J2J72S.ST 4r   c                 8    dj                  | j                        S )Nz | )joinr]   r    s    r   format_usagez"BooleanOptionalAction.format_usage   s    ::d1122r   r   )r"   r#   r$   r   ri   rl   __classcell__)rd   s   @r   rX   rX      s    
	[	U	3r   rX   )T)F)sysargparsepathlibr   pypdfium2._helpers_helpersrE   r   r   r-   r6   r?   rB   rL   rP   rU   version_inforX   Actionr%   r   r   <module>ru      si       #*+ +0
(%@ v.3 3r   