�
㦧b� � �j � d dl Zd dlmZ d dlmZ d dlZda ej e
� � Zd� Zd� Z
d� Zd� ZdS )� N)�configparser)�loggingc � � t j � | t j d� � t j � | t j t j d� � fD ]%}t j � |� � r|c S �&dS )z�Find the 'setup.cfg' file, if it exists.
This assumes we're using 'doc/source' for documentation, but also allows
for single level 'doc' paths.
z setup.cfgN)�os�path�join�pardir�exists)�srcdirr s �//usr/lib/python3/dist-packages/pbr/sphinxext.py�_find_setup_cfgr
su � �
�G�L�L����K�8�8��G�L�L����B�I�{�C�C�E� � �� �7�>�>�$��� ��K�K�K� � �4� c � � t ��t j � � }t | � � }|r|� |� � st
� d� � dS |� dd� � }t |� � � � � dk r)t |� � dk r|� dd� � }n0# t j
$ r t
� d� � Y dS w xY w|a t S ) z�Return string name of project name, or None.
This extracts metadata from 'setup.cfg'. We don't rely on
distutils/setuptools as we don't want to actually install the package
simply to build docs.
Nz7Could not find a setup.cfg to extract project name from�metadata�name� � �summaryz1Could not extract project metadata from setup.cfg)�_projectr �ConfigParserr
�read�logger�info�get�len�split�Error)r �parserr �projects r �_get_project_namer - s� � � ���*�,�,���v�&�&��� �6�;�;�t�,�,� ��K�K� �
�
�
��4� � �j�j��V�4�4�G��7�=�=�?�?�#�#�q�(�(�S��\�\�B�->�->� �*�*�Z��;�;�����!� � � ��K�K�K�L�L�L��4�4� ���� ���Os �A$C �)C0�/C0c �L � t | j � � } t j � |� � }n# t
$ r d }Y nw xY w|rV| j j sL| j j sB|� � � | j _ |� � � | j _ d S d S d S d S )N)
r r �pbr�version�VersionInfo� Exception�config�release�canonical_version_string�version_string_with_vcs)�app�project_name�version_infos r �_builder_initedr- O s� � � %�S�Z�0�0�L���{�.�.�|�<�<����� � � ��������� � D�C�J�.� D�s�z�7I� D�)�B�B�D�D��
��)�A�A�C�C��
����D� D� D� D� D� Ds �6 �A�Ac �B � | � dt � � ddd�S )Nzbuilder-initedT)�parallel_read_safe�parallel_write_safe)�connectr- )r* s r �setupr2 ^ s, � ��K�K� �/�2�2�2�"�#�� � r )�os.pathr � six.movesr �sphinx.utilr �pbr.versionr" |