
    Ri                        d Z ddlmZ ddlZddlZddlmZ ddlmZ ddlZddl	m
Z
 ddlmZ ddlmZ dd	lmZ erddlZdd
lmZ ddlmZ  ej,                  e      Z G d de      ZddZy)z$Image converter extension for Sphinx    )annotationsN)CalledProcessError)TYPE_CHECKING)ExtensionError)__)ImageConverter)logging)Sphinx)ExtensionMetadatac                  0    e Zd Zg dZddZ	 	 	 	 	 	 ddZy)ImagemagickConverter))zimage/svg+xml	image/png)z	image/gifr   )zapplication/pdfr   )zapplication/illustratorr   )z
image/webpr   c                   	 | j                   j                  dg}t        j                  d|       t	        j
                  |dd       y# t        $ r>}t        j                  t        d      | j                   j                  |       Y d}~yd}~wt        $ r>}t        j                  t        d      |j                  |j                         Y d}~yd}~ww xY w)	z+Confirms the converter is available or not.z-versionInvoking %r ...Tcapture_outputcheckzUnable to run the image conversion command %r. 'sphinx.ext.imgconverter' requires ImageMagick by default. Ensure it is installed, or set the 'image_converter' option to a custom conversion command.

Traceback: %sNF2convert exited with error:
[stderr]
%r
[stdout]
%r)configimage_converterloggerdebug
subprocessrunOSErrorwarningr   r   stderrstdout)selfargsexcs      O/home/agent/.friday_env/lib/python3.12/site-packages/sphinx/ext/imgconverter.pyis_availablez!ImagemagickConverter.is_available"   s    	KK//<DLL*D1NN4DA 	NN$ ++
 ! 	NNKL




 	s$   AA	 		C4BC4CCc                   	 | d}| j                   j                  g| j                   j                  ||}t        j	                  d|       t        j                  |dd       y# t        $ r6 t        j                  t        d      | j                   j                         Y yt        $ r3}t        t        d      |j                  |j                  fz        |d}~ww xY w)	z#Converts the image to expected one.z[0]r   Tr   zCconvert command %r cannot be run, check the image_converter settingFr   N)r   r   image_converter_argsr   r   r   r   r   r   r   r   r   r   r   )r   _from_tofrom_r    r!   s         r"   convertzImagemagickConverter.convert>   s    	 gSME ++11  	D LL*D1NN4DA 	NNY ++	 ! 	 KL::szz*+ 	s   A$A' '<C %C -.CC N)returnbool)r&   str | os.PathLike[str]r'   r,   r*   r+   )__name__
__module____qualname__conversion_rulesr#   r)        r"   r   r      s,    8+2H	r2   r   c           	        | j                  t               t        j                  dk(  rM| j	                  dddt        t        h             | j	                  ddgdt        t        t        h             nK| j	                  dddt        t        h             | j	                  dg dt        t        t        h             t        j                  ddd	S )
Nwin32r   magickenv)typesr%   r)   T)versionparallel_read_safeparallel_write_safe)add_post_transformr   sysplatformadd_config_value	frozensetstrlisttuplesphinx__display_version__)apps    r"   setuprF   _   s    /0
||w 	.%yRUQVGWX"YKiu>V 	 	
 	y%y#7G 	 	
 	"BYe}5M 	 	

 --"# r2   )rE   r
   r*   r   )__doc__
__future__r   r   r<   r   typingr   rC   sphinx.errorsr   sphinx.localer   (sphinx.transforms.post_transforms.imagesr   sphinx.utilr	   ossphinx.applicationr
   sphinx.util.typingr   	getLoggerr-   r   r   rF   r1   r2   r"   <module>rR      sX    * "  
 )    (  C )4			8	$C> CLr2   