o
    Ni                     @   sr   d dl mZ d dl mZ d dlZd dlmZ d dlmZ d dl	Z
daeeZdd Zdd	 Zd
d Zdd ZdS )    )absolute_import)print_functionN)logging)configparserc                 C   sF   t j| t jdt j| t jt jdfD ]}t j|r |  S qdS )zFind 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   A/home/ubuntu/.local/lib/python3.10/site-packages/pbr/sphinxext.py_find_setup_cfg   s   
r   c                 C   s   t du rIt }t| }|r||std dS z|dd}t|	 dkr5t|dkr5|dd}W n tj
yF   td Y dS w |a t S )	zReturn 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   projectr   r   r   _get_project_name1   s&   	
r   c                 C   sn   t | j}ztj|}W n ty   d }Y nw |r1| jjs3| jjs5| | 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_infor   r   r   _builder_initedT   s   
r+   c                 C   s   |  dt dddS )Nzbuilder-initedT)parallel_read_safeparallel_write_safe)connectr+   )r(   r   r   r   setupc   s   r/   )
__future__r   r   os.pathr   sphinx.utilr   pbr._compat.fiver   pbr.versionr    r   	getLogger__name__r   r   r   r+   r/   r   r   r   r   <module>   s   
#