3

T'íc
ã@s¦dZddlZddlZddlmZmZddlmZmZddlm	Z	ddl
mZddlm
Z
ddlmZdd	lmZejeƒZGd
d„deƒZe	eeefdœd
d„ZdS)z$Image converter extension for SphinxéN)ÚPIPEÚCalledProcessError)ÚAnyÚDict)ÚSphinx)ÚExtensionError)Ú__)ÚImageConverter)Úloggingc@s8eZdZd
dddgZedœdd„Zeeed	œd
d„ZdS)ÚImagemagickConverterú
image/svg+xmlú	image/pngú	image/gifúapplication/pdfúapplication/illustrator)ÚreturncCsžy.|jjdg}tjd|ƒtj|ttdddStk
rd}ztjt	dƒ|jj|ƒdSd}~Xn6t
k
r˜}ztjt	dƒ|j|jƒdSd}~XnXdS)	z+Confirms the converter is available or not.z-versionzInvoking %r ...T)ÚstdoutÚstderrÚcheckzGconvert command %r cannot be run, check the image_converter setting: %sFNz2convert exited with error:
[stderr]
%r
[stdout]
%r)
ÚconfigÚimage_converterÚloggerÚdebugÚ
subprocessÚrunrÚOSErrorÚwarningrrrr)ÚselfÚargsÚexc©r ú9/tmp/pip-build-gk9425m9/sphinx/sphinx/ext/imgconverter.pyÚis_availables

z!ImagemagickConverter.is_available)Ú_fromÚ_torcCs¬yD|d7}|jjg|jj||g}tjd|ƒtj|ttdddStk
rltj	t
dƒ|jjƒdStk
r¦}z tt
dƒ|j
|jfƒ|‚WYdd}~XnXdS)	z#Converts the image to expected one.z[0]zInvoking %r ...T)rrrzCconvert command %r cannot be run, check the image_converter settingFz2convert exited with error:
[stderr]
%r
[stdout]
%rN)rrÚimage_converter_argsrrrrrrrrrrrr)rr#r$rrr r r!Úconvert+s


zImagemagickConverter.convertN)rr
)rr
)rr
)rr
)Ú__name__Ú
__module__Ú__qualname__Zconversion_rulesÚboolr"Ústrr&r r r r!rsr)ÚapprcCs\|jtƒtjdkr4|jdddƒ|jddgdƒn|jdddƒ|jdgdƒdddd	œS)
NÚwin32rZmagickÚenvr%r&ÚbuiltinT)ÚversionZparallel_read_safeZparallel_write_safe)Zadd_post_transformrÚsysÚplatformZadd_config_value)r,r r r!ÚsetupCs

r3)Ú__doc__rr1rrÚtypingrrZsphinx.applicationrZ
sphinx.errorsrZ
sphinx.localerZ(sphinx.transforms.post_transforms.imagesr	Zsphinx.utilr
Ú	getLoggerr'rrr+r3r r r r!Ú<module>s
2