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__/metadata.cpython-310.pyc
o

�$�a�
�@s~dZddlmZmZmZmZmZddlmZddl	m
Z
ddlmZddl
mZGdd�de�Zd	e
d
eeeffdd�Zd
S)a
    sphinx.environment.collectors.metadata
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    The metadata collector components for sphinx.environment.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�)�Any�Dict�List�Set�cast)�nodes)�Sphinx)�BuildEnvironment)�EnvironmentCollectorc
@sdeZdZdZdedededdfdd�Zdeded	eed
eddf
dd�Z	ded
e
jddfdd�ZdS)�MetadataCollectorz*metadata collector for sphinx.environment.�app�env�docname�returnNcCs|j�|d�dS�N)�metadata�pop)�selfrr
r�r�H/usr/lib/python3/dist-packages/sphinx/environment/collectors/metadata.py�	clear_docszMetadataCollector.clear_doc�docnames�othercCs|D]
}|j||j|<qdSr)r)rrr
rrrrrr�merge_others�zMetadataCollector.merge_other�doctreec	Cs8|�tj�}|durdSt||tj�r�|jj|jj}||D]O}t|tj�r:t	t
tj|�}dd�|D�|d<q t|tj�rat
|�dksHJ�t	tj|d�}t	tj|d�}|��||��<q t|tj�ro|��||jj<q |��D]\}	}
|	dvr�zt|
�}
Wnty�d}
Ynw|
||	<qt|�|�dSdS)	z�Process the docinfo part of the doctree as metadata.

        Keep processing minimal -- just return what docutils says.
        NcSsg|]}|���qSr)�astext)�.0�authorrrr�
<listcomp>-sz1MetadataCollector.process_doc.<locals>.<listcomp>�authors�r�)�tocdepth)�first_child_not_matching_classr�PreBibliographic�
isinstance�docinfor
rrrrrr�field�len�
field_name�
field_bodyr�TextElement�	__class__�__name__�items�int�
ValueErrorr)rrr�index�md�noderr)r*�name�valuerrr�process_docs8����zMetadataCollector.process_doc)
r-�
__module__�__qualname__�__doc__rr	�strrrrr�documentr6rrrrrs
��
�rrrcCs|�t�dddd�S)N�builtinT)�version�parallel_read_safe�parallel_write_safe)�add_env_collectorr)rrrr�setupCs

�rAN)r9�typingrrrrr�docutilsr�sphinx.applicationr�sphinx.environmentr	�sphinx.environment.collectorsr
rr:rArrrr�<module>s
/