U
    [e                     @   sZ   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 )    N)configparser)loggingc                 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
   O/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pbr/sphinxext.py_find_setup_cfg   s    

r   c                 C   s   t dkrt }t| }|r&||s4td dS z8|dd}t|	 dkrjt|dkrj|dd}W n" tj
k
r   td Y dS X |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_name-   s    	

r   c                 C   sd   t | j}ztj|}W n tk
r2   d }Y nX |r`| jjs`| jjs`| | j_|	 | j_d S )N)
r   r	   pbrversionVersionInfo	ExceptionconfigreleaseZcanonical_version_stringZversion_string_with_vcs)appproject_nameversion_infor
   r
   r   _builder_initedO   s    

r'   c                 C   s   |  dt dddS )Nzbuilder-initedT)Zparallel_read_safeZparallel_write_safe)connectr'   )r$   r
   r
   r   setup^   s    r)   )os.pathr   Z	six.movesr   Zsphinx.utilr   Zpbr.versionr   r   	getLogger__name__r   r   r   r'   r)   r
   r
   r
   r   <module>   s   
"