
    7 fc
                        d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 erddlmZ ddlmZ  G d d	e
          ZddZdS )z9The metadata collector components for sphinx.environment.    )annotations)TYPE_CHECKINGAnycast)nodes)EnvironmentCollector)Sphinx)BuildEnvironmentc                  *    e Zd ZdZdd
ZddZddZdS )MetadataCollectorz*metadata collector for sphinx.environment.appr	   envr
   docnamestrreturnNonec                <    |j                             |d            d S N)metadatapop)selfr   r   r   s       \/var/www/equiseq/venv/lib/python3.11/site-packages/sphinx/environment/collectors/metadata.py	clear_doczMetadataCollector.clear_doc   s     $'''''    docnamesset[str]otherc                :    |D ]}|j         |         |j         |<   d S r   )r   )r   r   r   r   r   r   s         r   merge_otherzMetadataCollector.merge_other   s1     	< 	<G$)N7$;CL!!	< 	<r   doctreenodes.documentc                   |                     t          j                  }|dS t          ||         t          j                  r|j        j        |j        j                 }||         D ]&}t          |t          j                  r5t          t          t          j                 |          }d |D             |d<   Rt          |t          j                  rt          |          dk    sJ t          t          j        |d                   }t          t          j        |d                   }|                                ||                                <   t          |t          j                  r!|                                ||j        j        <   (|                                D ]1\  }	}
|	dv r(	 t+          |
          }
n# t,          $ r d}
Y nw xY w|
||	<   2|                    |           dS dS )zProcess the docinfo part of the doctree as metadata.

        Keep processing minimal -- just return what docutils says.
        Nc                6    g | ]}|                                 S  )astext).0authors     r   
<listcomp>z1MetadataCollector.process_doc.<locals>.<listcomp>)   s     $K$K$KV]]__$K$K$Kr   authors   r      )tocdepth)first_child_not_matching_classr   PreBibliographic
isinstancedocinfor   r   r   r)   r   listr'   fieldlen
field_name
field_bodyr%   TextElement	__class____name__itemsint
ValueErrorr   )r   r   r    indexmdnoder)   r4   r5   namevalues              r   process_doczMetadataCollector.process_doc   s   
 66u7MNN=F66 	!#'/2B @ @dEM22 @"4#5t<<G$K$K7$K$K$KByMMek22 @t99>>>>!%e&6Q!@!@J!%e&6Q!@!@J.8.?.?.A.ABz((**++e&788 @ 37++--Bt~./!xxzz % %e=((" #E

% " " " !"$BtHKK3	 	s   /F??GGN)r   r	   r   r
   r   r   r   r   )
r   r	   r   r
   r   r   r   r
   r   r   )r   r	   r    r!   r   r   )r8   
__module____qualname____doc__r   r   rA   r$   r   r   r   r      sV        44( ( ( (< < < <
! ! ! ! ! !r   r   r   r	   r   dict[str, Any]c                B    |                      t                     ddddS )NbuiltinT)versionparallel_read_safeparallel_write_safe)add_env_collectorr   )r   s    r   setuprL   ?   s1    +,,, "#  r   N)r   r	   r   rE   )rD   
__future__r   typingr   r   r   docutilsr   sphinx.environment.collectorsr   sphinx.applicationr	   sphinx.environmentr
   r   rL   r$   r   r   <module>rS      s    ? ? " " " " " " + + + + + + + + + +       > > > > > > 4))))))333333, , , , ,, , , ,^     r   