Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/pbr/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/pbr/__pycache__/builddoc.cpython-35.opt-1.pyc



�V|#�@s`ddlmZddlZddlZddlZddlZddlZyddlZWnek
r|ddl	ZYnXyDddl
mZddl
mZddl
m
Z
ddl
mZWn7ek
r�Zzeee���WYddZ[XnXddlmZddlmZd	Zd
d�ZGdd
�d
ej�ZGdd�de�ZdS)�)�logN)�apidoc)�application)�config)�
setup_command)�git)�optionszi%(heading)s
%(underline)s

.. automodule:: %(module)s
  :members:
  :undoc-members:
  :show-inheritance:
cCsZxS|D]K}|jd�r|dkrd|d|jdd�|dd�f<qWdS)	Nz.pyz__init__.pyTz%s.%s�/�.����)�endswith�replace)�arg�dirname�files�filename�r�=/opt/alt/python35/lib/python3.5/site-packages/pbr/builddoc.py�
_find_modules<s
rc@syeZdZdZddgZdd�Zddd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�
LocalBuildDoc�build_sphinxZhtml�mancCsg|jjd�}d|kr>tjj|ddd�}nd}tjj|�sctj|�|S)Nr�
source_dir�Zapizdoc/source/api)�distribution�get_option_dict�os�path�join�exists�makedirs)�self�option_dictrrrr�_get_source_dirHs 
zLocalBuildDoc._get_source_dirNcs�tjdtjjtj��i}|j�}xS|jjD]E}d|kr?x0tj	|�D]\}}}t
|||�qaWq?W�fdd��t�fdd�|j�D��}tjj
|d�}	t|	d���}
|
jd	�x�|D]�}tjj
|d
|�}d|}
dt|
�}td
|d|
d|�}tjd|�t|d��}|jt|�WdQRX|
jd|�q�WWdQRXdS)Nz[pbr] Autodocumenting from %sr
cst�fdd��D��S)Nc3s!|]}tj�|�VqdS)N)�fnmatch)�.0Zpat)�modulerr�	<genexpr>]szDLocalBuildDoc.generate_autoindex.<locals>.include.<locals>.<genexpr>)�any)r')�excluded_modules)r'r�include\sz1LocalBuildDoc.generate_autoindex.<locals>.includec3s!|]}�|�r|VqdS)Nr)r&�mod)r+rrr(`sz3LocalBuildDoc.generate_autoindex.<locals>.<genexpr>z
autoindex.rst�wz.. toctree::
   :maxdepth: 1

z%s.rstzThe :mod:`%s` Module�=r'�heading�	underlinez[pbr] Generating %sz
   %s.rst
)r�inforr�abspath�curdirr$rZpackages�walkr�sorted�keysr�open�write�len�dict�
_rst_template)r"r*�modulesrZpkg�dirpathZdirnamesrZmodule_listZautoindex_filenameZ	autoindexr'Zoutput_filenamer/r0�valuesZoutput_filer)r*r+r�generate_autoindexRs4	%


		z LocalBuildDoc.generate_autoindexcCs<|j�}ddddd|g}tj||j�dS)Nrr
z-H�Modulesz-o)r$r�main�autodoc_tree_excludes)r"r�cmdrrr�_sphinx_treeuszLocalBuildDoc._sphinx_treec
Cs'|jstj�}n	tj}i}|jr=|j|d<|jrS|j|d<|jri|j|d<tj	|j
dig�}tjd�j}tj
|�tj
d�kr�|jtj�n
|j�|jdkr�t|j�dkr�dStj|j|j
|j|j|j||d	|jd
d�}y|jd|j�Wn�tk
r�}zpdd
lm}t||j �r�tj!j"d�tj#j"|j$dj%dd��tj#j"d�n�WYdd}~XnX|j&r#|jj'|jj(}|jj)d�}	t*j+||	�dS)N�version�release�todayzconf.py�sphinxz1.3.1rrZfreshenvZwarningiserrorFZ	force_all)�utilszreST markup error:
�ascii�backslashreplace�
�index),�verbose�	cStringIO�StringIO�sys�stdoutrErFrGrZConfigZ
config_dir�
pkg_resourcesZget_distributionZ
parse_versionZinit_values�warnings�warn�builderr9Z	man_pagesrZSphinxrZbuilder_target_dirZdoctree_dirZ	fresh_envZbuildZ	all_files�	ExceptionZdocutilsrI�
isinstanceZ
SystemMessageZstderr8�stderr�args�encodeZ
link_indexZ
master_docZ
out_suffixZget_outfilenamer�symlink)
r"Z
status_streamZ
confoverridesZ
sphinx_configZ
sphinx_verZapp�errrI�srcZdstrrr�_sphinx_runzsJ			
	
	

$
	zLocalBuildDoc._sphinx_runcCsO|jjd�}tj�r>tjd|�tjd|�tj|dd�}tj|dd�}tj	d�s�|r�|j
�|r�|jt|j
ddd	g�d
j���x�|jD]�}||_|j�|jj�|_|jj�|_|jj�|_tj|dd�r7|j�q�tjj|�q�WdS)
N�pbrr#Zautodoc_tree_index_modulesZAUTODOC_TREE_INDEX_MODULESZautodoc_index_modulesZAUTODOC_INDEX_MODULESZSPHINX_DEBUGZautodoc_exclude_modules�rZ
warnerrorsZ
WARNERRORS)rrrZ_git_is_installedZwrite_git_changelogZgenerate_authorsrZget_boolean_optionr�getenvrDr?�set�get�split�buildersrV�finalize_optionsZget_nameZprojectZget_versionrErFr_r�BuildDoc�run)r"r#Z
tree_indexZ
auto_indexrVrrrri�s8				
		
	
zLocalBuildDoc.runcCs tjj|�dg|_dS)Nzsetup.py)rrh�initialize_optionsrB)r"rrrrj�sz LocalBuildDoc.initialize_optionscCs�tjj|�|jjd�}d|jdgg�dkrR|dd|_t|jt�r�|jr�|jj	d�|_d}|jjd�}||kr�||d|_
|j|�dS)	Nrzcommand linerVrr�,rBr`)rrhrgrrrdrfrX�listrerBZensure_string_list)r"r#�optrrrrg�szLocalBuildDoc.finalize_options)�__name__�
__module__�__qualname__�command_namerfr$r?rDr_rirjrgrrrrrCs
#,"rc@seZdZdgZdZdS)�LocalBuildLatexZlatexZbuild_sphinx_latexN)rnrorprfrqrrrrrr�s	rr)�	distutilsrr%rrSrQrTrO�ImportError�iorHrrrrrW�e�strr`rrr;rrhrrrrrrr�<module>s,
%
�