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.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_sphinx�html�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)�.0�pat)�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%r�packages�walkr�sorted�keysr �open�write�len�dict�
_rst_template)r#r,�modulesr�pkg�dirpath�dirnamesrZmodule_listZautoindex_filenameZ	autoindexr)�output_filenamer1r2�values�output_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�stdoutrLrMrNrZConfigZ
config_dir�
pkg_resources�get_distribution�
parse_versionZinit_values�warnings�warn�builderr<Z	man_pagesrZSphinxr�builder_target_dirZdoctree_dirZ	fresh_env�buildZ	all_files�	ExceptionZdocutilsrP�
isinstanceZ
SystemMessageZstderr;�stderr�args�encodeZ
link_indexZ
master_docZ
out_suffixZget_outfilenamer�symlink)
r#Z
status_streamZ
confoverridesZ
sphinx_configZ
sphinx_verZapp�errrP�src�dstrrr�_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)rrr�_git_is_installed�write_git_changelog�generate_authorsr�get_boolean_optionr�getenvrKrF�set�get�split�buildersr_�finalize_options�get_name�project�get_versionrLrMrkr�BuildDoc�run)r#r$Z
tree_indexZ
auto_indexr_rrrr|�s8				
		
	
zLocalBuildDoc.runcCs tjj|�dg|_dS)Nzsetup.py)rr{�initialize_optionsrI)r#rrrr}�sz LocalBuildDoc.initialize_optionscCs�tjj|�|jjd�}d|jdgg�dkrR|dd|_t|jt�r�|jr�|jj	d�|_d}|jjd�}||kr�||d|_
|j|�dS)	Nrzcommand liner_rr�,rIrl)rr{rwrrrtrvrc�listrurI�ensure_string_list)r#r$�optrrrrw�szLocalBuildDoc.finalize_options)�__name__�
__module__�__qualname__�command_namervr%rFrKrkr|r}rwrrrrrCs
#,"rc@seZdZdgZdZdS)�LocalBuildLatexZlatexZbuild_sphinx_latexN)r�r�r�rvr�rrrrr��s	r�)�	distutilsrr&rrZrXr]rV�ImportError�iorOrrrrrb�e�strrlrrr>rr{rr�rrrr�<module>s,
%
�