HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sphinx/environment/collectors/__pycache__/asset.cpython-310.pyc
o

�$�a7�@sdZddlZddlmZddlmZddlmZmZmZmZddl	m
Z
ddlmZddl
mZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZmZddlmZe� e!�Z"Gdd�de�Z#Gdd�de�Z$dedee%effdd�Z&dS)z�
    sphinx.environment.collectors.asset
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    The image collector for sphinx.environment.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�glob)�path)�Any�Dict�List�Set)�nodes)�Node)�
relative_path)�addnodes)�Sphinx)�BuildEnvironment)�EnvironmentCollector)�__)�logging)�get_image_filename_for_language�search_image_for_language)�guess_mimetypec
@s�eZdZdZdedededdfdd�Zdeded	eed
eddf
dd�Z	ded
e
jddfdd�Zdedede
eefdeddf
dd�ZdS)�ImageCollectorz-Image files collector for sphinx.environment.�app�env�docname�returnNcC�|j�|�dS�N)�images�	purge_doc��selfrrr�r�E/usr/lib/python3/dist-packages/sphinx/environment/collectors/asset.py�	clear_doc#�zImageCollector.clear_doc�docnames�othercC�|j�||j�dSr)r�merge_other�rrrr#r$rrr r&&�zImageCollector.merge_other�doctreec
Csn|jj}|�tj�D]�}i}||d<|d}|�d�r ||d<q
|�d�dkr,||d<q
|�tj	d�rg|j�
||�\}}||d<|jjr]t
||j�}	|j�
|	|�\}
}|�|j|||�|�|j|||�n|jjrqt||j�}|j�
||�\|d<}
|d|d<|��D]-}|jj|�|�t�t�|j|�tj�s�tjtd�||d	d
d�q�|jj�||�q�q
dS)
zProcess and rewrite image URIs.�
candidates�urizdata:�?�://����*zimage file not readable: %s�image�not_readable��location�type�subtypeN)rr�traverserr0�
startswith�find�endswith�os�extsep�
relfn2path�config�languager�collect_candidatesr�values�dependencies�add�accessr�join�srcdir�R_OK�logger�warningrr�add_file)
rrr)r�noder*�imguri�rel_imgpath�full_imgpath�i18n_imguri�_�full_i18n_imgpath�imgpathrrr �process_doc*sB
���zImageCollector.process_docrQr*rJcCs�i}t|�D]S}tt�|jd�|�}z&t|�}|dur*t�|�\}	}
d|
dd�}||vr7|�|g��|�Wqt	yY}zt
jtd�||f|ddd�WYd}~qd}~ww|�
�D]\}}
t|
td�d	||<q^dS)
N�dummyzimage/x-�zimage file %s not readable: %sr0r1r2)�keyr)rr
rrDrEr�splitext�
setdefault�append�OSErrorrGrHr�items�sorted�len)rrrQr*rJ�globbed�filename�new_imgpath�mimetype�basename�suffix�errrU�filesrrr r?_s,������z!ImageCollector.collect_candidates)�__name__�
__module__�__qualname__�__doc__rr
�strr!rr&r�documentrRrr	r?rrrr r s$
��
�
5
���rc
@sdeZdZdZdedededdfdd�Zdeded	eed
eddf
dd�Z	ded
e
jddfdd�ZdS)�DownloadFileCollectorz0Download files collector for sphinx.environment.rrrrNcCrr)�dlfilesrrrrr r!vr"zDownloadFileCollector.clear_docr#r$cCr%r)rlr&r'rrr r&yr(z!DownloadFileCollector.merge_otherr)cCs�|�tj�D]F}|d}d|vr||d<q|j�||jj�\}}|jj|jj�|�t�	|tj
�s@tjt
d�||ddd�q|jj�|jj|�|d<qd	S)
z!Process downloadable file paths. �	reftargetr-�refurizdownload file not readable: %s�downloadr1r2r^N)r6r�download_referencerr<rrArBr:rCrFrGrHrrlrI)rrr)rJ�
targetname�rel_filenamer^rrr rR}s
��z!DownloadFileCollector.process_doc)
rerfrgrhrr
rir!rr&rrjrRrrrr rkss
��
�rkrrcCs |�t�|�t�dddd�S)N�builtinT)�version�parallel_read_safe�parallel_write_safe)�add_env_collectorrrk)rrrr �setup�s

�rx)'rhr:rr�typingrrrr�docutilsr�docutils.nodesr	�docutils.utilsr
�sphinxr�sphinx.applicationr�sphinx.environmentr
�sphinx.environment.collectorsr�
sphinx.localer�sphinx.utilr�sphinx.util.i18nrr�sphinx.util.imagesr�	getLoggerrerGrrkrirxrrrr �<module>s(

S