B
    \                 @   sR   d Z ddlmZ ddlmZ ddlmZ ddlmZ e	e
Zdd Zdd	 Zd
S )z
    sphinx.ext.autosectionlabel
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Allow reference sections by :ref: role using its title.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )nodes)__)logging)clean_astextc       
      C   s   | j jd d }| j jd d }x|tjD ]}|d d }| j j}t|d d|d  }| jj	rzt
|d | }n
t
|}t|d }	||krtjtd|| j || d |d	 ||f||< |||	f||< q.W d S )
NZstdlabels
anonlabelsZidsr   Z	rawsource:z(duplicate label %s, other instance in %s)location)envZ
domaindataZtraverser   ZsectiondocnamegetattrZastextZconfig autosectionlabel_prefix_documentZfully_normalize_namer   loggerZwarningr   Zdoc2path)
appZdocumentr   r   ZnodeZlabelidr   Zref_namenameZsectname r   :lib/python3.7/site-packages/sphinx/ext/autosectionlabel.pyregister_sections_as_label    s     

r   c             C   s&   |  ddd | dt ddddS )Nr   Fr
   zdoctree-readZbuiltinT)versionZparallel_read_safeZparallel_write_safe)Zadd_config_valueZconnectr   )r   r   r   r   setup7   s
    r   N)__doc__Zdocutilsr   Zsphinx.localer   Zsphinx.utilr   Zsphinx.util.nodesr   Z	getLogger__name__r   r   r   r   r   r   r   <module>
   s   
