
    -Ph                        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dS )z$Image converter extension for Sphinx    )annotationsN)CalledProcessError)TYPE_CHECKING)ExtensionError)__)ImageConverter)logging)Sphinx)ExtensionMetadatac                  &    e Zd Zg dZd
dZddZd	S )ImagemagickConverter))zimage/svg+xml	image/png)z	image/gifr   )zapplication/pdfr   )zapplication/illustratorr   )z
image/webpr   returnboolc                   	 | j         j        dg}t                              d|           t	          j        |dd           dS # t          $ r>}t                              t          d          | j         j        |           Y d}~dS d}~wt          $ r>}t                              t          d          |j
        |j                   Y d}~dS 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      W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/sphinx/ext/imgconverter.pyis_availablez!ImagemagickConverter.is_available"   s    	K/<DLL*D111N4DAAAA4 	 	 	NN$  +
 
 
 55555! 	 	 	NNKLL

  
 55555	s$   A A 
C3BC3CC_fromstr | os.PathLike[str]_toc                   	 | d}| j         j        g| j         j        ||}t                              d|           t          j        |dd           dS # t          $ r6 t                              t          d          | j         j                   Y dS t          $ r1}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!   r&   r(   from_r"   r#   s         r$   convertzImagemagickConverter.convert>   s   	 MMME +1  	D LL*D111N4DAAAA4 	 	 	NNY  +	   55! 	 	 	 KLL:sz*+  	s   AA <C	C ,CCN)r   r   )r&   r'   r(   r'   r   r   )__name__
__module____qualname__conversion_rulesr%   r,        r$   r   r      sN             8     r2   r   appr
   r   r   c           	        |                      t                     t          j        dk    r`|                     dddt          t          h                     |                     ddgdt          t          t          h                     n^|                     dddt          t          h                     |                     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__)r3   s    r$   setuprF   _   s   /000
|w 	.%yRUQVGWGWXXX"YKiu>V>V 	 	
 	
 	
 	
 	y%y#7G7G 	 	
 	
 	
 	"BYe}5M5M 	 	
 	
 	

 -"#  r2   )r3   r
   r   r   )__doc__
__future__r   r   r=   r   typingr   rD   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      s?   * * " " " " " "     



 ) ) ) ) ) )              ( ( ( ( ( (       C C C C C C       5III))))))444444		8	$	$C C C C C> C C CL     r2   