File: //lib/python3/dist-packages/sphinx/environment/adapters/__pycache__/indexentries.cpython-310.pyc
o
�$�a� � @ s� d Z ddlZddlZddlmZ ddlmZmZmZm Z m
Z
mZ ddlm
Z
ddlmZ ddlmZ ddlmZ dd lmZmZ dd
lmZmZ e�e�ZG dd� d�ZdS )
a
sphinx.environment.adapters.indexentries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index entries adapters for sphinx.environment.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�groupby)�Any�Dict�List�Pattern�Tuple�cast)�Builder)�IndexDomain)�BuildEnvironment)�NoUri)�_�__)�logging�
split_intoc @ s\ e Zd Zdeddfdd�Zde�d�fded ed
e de
eee
eee
f f fdd�ZdS )
�IndexEntries�env�returnNc C s
|| _ d S �N)r )�selfr � r �J/usr/lib/python3/dist-packages/sphinx/environment/adapters/indexentries.py�__init__ s
zIndexEntries.__init__Tz(.*) ([(][^()]*[)])�builder�
group_entries�_fixrec s� i }d|dfdt dt dt dtdtdt d df� ���fd
d�
� tt| j�d��}|j�� D ]�\�}|D ]�\}}�} }
z�|d
krdz
t dd
|�\}}W n t
yZ t dd
|�\}d}Y nw � ||| |
d� n�|dkr�t dd|�\}
}� |
|| |
d� � ||
| |
d� np|dkr�t dd|�\}
}}� |
|d | | |
d� � ||d |
| |
d� � ||
d | | |
d� n>|dkr�t dd|�\}
}� |
td�| dd|
d� n$|dkr�t dd|�\}
}� |
td�| dd|
d� n
tj
td�|�d� W q2 t
�y } ztj
t |��d� W Y d}~q2d}~ww q,dtt t f d ttt f fd d!�}|�� D ]}|d" j|d� |d �� D ]}|d" j|d� �q5�q%dtt tf d tttt f t f fd#d$�}t|�� |d�}|�r�d}d}d"}|t|�k �r�|| \}\}}}|�s�|�|�}|�r�||�d�k�r�|�|�d�g i |g�d" �|� ||= �qi|�d�}n|}|}|d7 }|t|�k �spdtt tf d t fd%d&��d'tt tf d t f�fd(d)�}d*d+� t||�D �S ),z7Create the real index from the collected index entries.TN�word�subword�main�link�dic�keyr c s� t | �} |�| �}|sg i |g || <