
    TAi                    n    S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJrJr  SS jrS	 rSS
 jrg)z!Interface to pngquant executable.    )annotations)Path)PIPE)Version)MissingDependencyError)get_versionrunc                 (    [        [        SSS95      $ )Npngquantz(\d+(\.\d+)*).*)regex)r   r        S/var/www/html/land-ocr/venv/lib/python3.13/site-packages/ocrmypdf/_exec/pngquant.pyversionr      s    ;z1CDEEr   c                 :     [        5         g! [         a     gf = f)NFT)r   r   r   r   r   	availabler      s%    	  " s   
 
c           	         [        U S5       nSSSSU SU 3SS/n[        XT[        [        SS	9nS
S
S
5        WR                  S:X  a  UR	                  UR
                  5        g
g
! , (       d  f       N;= f)zQuantize a PNG image using pngquant.

Args:
    input_file: Input PNG image
    output_file: Output PNG image
    quality_min: Minimum quality to use
    quality_max: Maximum quality to use
rbr   z--forcez--skip-if-largerz	--quality-z--F)stdinstdoutstderrcheckNr   )openr	   r   
returncodewrite_bytesr   )
input_fileoutput_filequality_minquality_maxinput_streamargsresults          r   quantizer$      s~     
j$	<m1[M*
 Td4uU 
  A.  
 	s   #A%%
A3N)returnr   )r   r   r   r   r   intr    r&   )__doc__
__future__r   pathlibr   
subprocessr   packaging.versionr   ocrmypdf.exceptionsr   ocrmypdf.subprocessr   r	   r   r   r$   r   r   r   <module>r.      s,    ( "   % 6 0F/r   