File: //usr/lib/python3/dist-packages/pbr/__pycache__/sphinxext.cpython-38.pyc
U
jP�^� � @ sZ d dl Zd dlmZ d dlmZ d dlZdae� e
�Zdd� Zdd� Z
dd � Zd
d� ZdS )� N)�configparser)�loggingc C sF t j�| t jd�t j�| t jt jd�fD ]}t j�|�r(| S q(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 � r
�//usr/lib/python3/dist-packages/pbr/sphinxext.py�_find_setup_cfg s
�
r c C s� t dkr�t�� }t| �}|r&|�|�s4t�d� dS z8|�dd�}t|� � �dkrjt|�dkrj|�dd�}W n" tj
k
r� t�d� Y dS X |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 fromZmetadata�name� � Zsummaryz1Could not extract project metadata from setup.cfg)�_projectr �ConfigParserr �read�logger�info�get�len�split�Error)r �parserr Zprojectr
r
r �_get_project_name- s
r c C sd t | j�}ztj�|�}W n tk
r2 d }Y nX |r`| jjs`| jjs`|�� | j_|� � | j_d S )N)
r r �pbr�versionZVersionInfo� ExceptionZconfig�releaseZcanonical_version_stringZversion_string_with_vcs)�appZproject_name�version_infor
r
r �_builder_initedO s
r! c C s | � dt� ddd�S )Nzbuilder-initedT)Zparallel_read_safeZparallel_write_safe)Zconnectr! )r r
r
r �setup^ s �r"