Your IP : 13.58.203.104


Current Path : /opt/alt/python35/lib64/python3.5/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/distutils/__pycache__/dist.cpython-35.opt-2.pyc



���]>��@sddlZddlZddlZddlmZyddlZWnek
r^dZYnXddlTddlm	Z	m
Z
ddlmZm
Z
mZddlmZddlmZejd�ZGd	d
�d
�ZGdd�d�Zd
d�ZdS)�N)�message_from_file)�*)�FancyGetopt�translate_longopt)�
check_environ�	strtobool�
rfc822_escape)�log)�DEBUGz^[a-zA-Z]([a-zA-Z0-9_]*)$c@seZdZd}d~dd�d�gZdZd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�gZd=d>�eD�ZddiZdd?d@�ZdAdB�Z	dddCdDdE�Z
dFdG�ZddHdI�ZdJdK�Z
dLdM�ZdNdO�ZdPdQ�ZddgdRdS�ZdTdU�ZdVdW�ZdXdY�ZdZd[�Zd\d]�Zd^d_�Zdd`da�Zddbdc�Zdddedf�Zejdgdh�Zdidj�Zdkdl�Zdmdn�Z dodp�Z!dqdr�Z"dsdt�Z#dudv�Z$dwdx�Z%dydz�Z&d{d|�Z'dS)��Distribution�verbose�v�run verbosely (default)��quiet�q�!run quietly (turns verbosity off)�dry-run�n�don't actually do anything�help�h�show detailed help message�no-user-cfgN�-ignore pydistutils.cfg in your home directoryz�Common commands: (see '--help-commands' for more)

  setup.py build      will build the package underneath 'build/'
  setup.py install    will install the package
�
help-commands�list all available commands�name�print package name�version�V�print package version�fullname�print <package name>-<version>�author�print the author's name�author-email� print the author's email address�
maintainer�print the maintainer's name�maintainer-email�$print the maintainer's email address�contact�7print the maintainer's name if known, else the author's�
contact-email�@print the maintainer's email address if known, else the author's�url�print the URL for this package�license� print the license of the package�licence�alias for --license�description�print the package description�long-description�"print the long package description�	platforms�print the list of platforms�classifiers�print the list of classifiers�keywords�print the list of keywords�provides�+print the list of packages/modules provided�requires�+print the list of packages/modules required�	obsoletes�0print the list of packages/modules made obsoletecCs g|]}t|d��qS)r)r)�.0�x�rH�)/opt/alt/python35/lib64/python3.5/dist.py�
<listcomp>ss	zDistribution.<listcomp>cCsWd|_d|_d|_x!|jD]}t||d�q%Wt�|_x:|jjD],}d|}t||t|j|��qXWi|_	d|_
d|_d|_i|_
g|_d|_i|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_d|_i|_i|_|r�|jd�}|dk	r�|d=xV|j�D]H\}}|j |�}x*|j�D]\}	}
d|
f||	<q�WqzWd|kr|d|d<|d=d	}t!dk	r	t!j"|�nt#j$j%|d
�x�|j�D]�\}}
t&|jd|�rit|jd|�|
�q*t&|j|�r�t|j||
�q*t&||�r�t|||
�q*dt'|�}t!dk	r�t!j"|�q*t#j$j%|d
�q*Wd
|_(|jdk	rIx7|jD],}
|
j)d�s/P|
dkrd|_(PqW|j*�dS)Nrr�get_��optionszsetup scriptr4r2z:'licence' distribution option is deprecated; use 'license'�
Zset_zUnknown distribution option: %sT�-z
--no-user-cfgF)+r�dry_runr�display_option_names�setattr�DistributionMetadata�metadata�_METHOD_BASENAMES�getattr�cmdclass�command_packages�script_name�script_args�command_optionsZ
dist_files�packagesZpackage_dataZpackage_dir�
py_modules�	libraries�headers�ext_modulesZext_packageZinclude_dirsZ
extra_path�scripts�
data_filesZpassword�command_obj�have_run�get�items�get_option_dict�warnings�warn�sys�stderr�write�hasattr�repr�
want_user_cfg�
startswith�finalize_options)�selfZattrs�attr�basenameZmethod_namerM�commandZcmd_options�opt_dict�opt�val�msg�key�argrHrHrI�__init__zs�			
 																							zDistribution.__init__cCs3|jj|�}|dkr/i}|j|<|S)N)r[re)rrru�dictrHrHrIrgszDistribution.get_option_dictrLc	Csddlm}|dkr1t|jj��}|dk	rX|j||�|d}|ss|j|d�dSx�|D]�}|jj|�}|dkr�|j|d|�qz|j|d|�||�}x,|jd�D]}|j|d|�q�WqzWdS)Nr)�pformatz  zno commands known yetzno option dict for '%s' commandzoption dict for '%s' command:rN)�pprintr~�sortedr[�keys�announcere�split)	rr�header�commands�indentr~Zcmd_namerv�out�linerHrHrI�dump_option_dicts&s&

		zDistribution.dump_option_dictscCs
g}t�tjjtjdj�}tjj|d�}tjj|�r]|j	|�tj
dkrud}nd}|jr�tjjtjjd�|�}tjj|�r�|j	|�d}tjj|�r�|j	|�t
r	|jdd	j|��|S)
N�	distutilsz
distutils.cfg�posixz.pydistutils.cfgzpydistutils.cfg�~z	setup.cfgzusing config files: %sz, )r�os�path�dirnamerj�modules�__file__�join�isfile�appendrro�
expanduserr
r�)rr�filesZsys_dirZsys_fileZ
user_filenameZ	user_fileZ
local_filerHrHrI�find_config_filesBs&
		!

zDistribution.find_config_filescCsEddlm}tjtjkrRddddddd	d
ddd
ddg
}ng}t|�}|dkr||j�}tr�|jd�|�}x�|D]�}tr�|jd|�|j	|�x�|j
�D]�}|j|�}|j|�}xZ|D]R}	|	dkr|	|kr|j
||	�}
|	jdd�}	||
f||	<qWq�W|j�q�Wd|jkrAx�|jdj�D]�\}	\}}
|jj
|	�}yY|r�t||t|
��n5|	dkr�t||	t|
��nt||	|
�Wq�tk
r<}
zt|
��WYdd}
~
Xq�Xq�WdS)Nr)�ConfigParserzinstall-basezinstall-platbasezinstall-libzinstall-platlibzinstall-purelibzinstall-headerszinstall-scriptszinstall-data�prefixzexec-prefix�home�user�rootz"Distribution.parse_config_files():z  reading %s�__name__rO�_�globalrrP)rrP)�configparserr�rjr��base_prefix�	frozensetr�r
r��readZsectionsrMrgre�replacer|r[rf�negative_optrRr�
ValueError�DistutilsOptionError)rr�	filenamesr�Zignore_options�parser�filename�sectionrMrvrwrx�src�aliasryrHrHrI�parse_config_filesrsJ		
	


&zDistribution.parse_config_filescCs|j�}g|_t||j�}|j|j�|jddi�|jd|jd|�}|j	�}t
j|j�|j
|�r�dSx,|r�|j||�}|dkr�dSq�W|jr�|j|dt|j�dkd|j�dS|jstd��d	S)
Nr4r2�args�object�display_optionsrr�zno commands suppliedT)�_get_toplevel_optionsr�rr��set_negative_aliasesr�Zset_aliases�getoptrZZget_option_orderr	Z
set_verbosityr�handle_display_options�_parse_command_optsr�
_show_help�len�DistutilsArgError)rrZtoplevel_optionsr�r��option_orderrHrHrI�parse_command_line�s,				
	zDistribution.parse_command_linecCs|jdgS)N�command-packages=�0list of packages that provide distutils commands)r�Nr�)�global_options)rrrHrHrIr��sz"Distribution._get_toplevel_optionscCs�ddlm}|d}tj|�s9td|��|jj|�y|j|�}Wn1tk
r�}zt	|��WYdd}~XnXt
||�s�td|��t|d�o�t
|jt�s�d}t||��|j}t|d�r|j�}|j|j�t|d�rMt
|jt�rMt|j�}ng}|j|j|j|�|j|�|j|d	d��\}}	t|	d
�r�|	jr�|j|ddd|g�dSt|d�rmt
|jt�rmd}
xg|jD]\\}}}
}t|	|j|��rd	}
t|�rI|�qtd
||f��qW|
rmdS|j|�}x0t|	�j�D]\}}d|f||<q�W|S)Nr)�Commandzinvalid command name '%s'z&command class %s must subclass Command�user_optionszIcommand class %s must provide 'user_options' attribute (a list of tuples)r��help_optionsrrr�r�zYinvalid help function %r for help option '%s': must be a callable object (function, etc.)zcommand line) �
distutils.cmdr��
command_re�match�
SystemExitr�r��get_command_class�DistutilsModuleErrorr��
issubclassZDistutilsClassErrorrm�
isinstancer��listr��copy�updater��fix_help_options�set_option_tabler�r�r�rr�Z
get_attr_name�callablerg�varsrf)rrr�r�r�ruZ	cmd_classryr�r�ZoptsZhelp_option_foundZhelp_optionZshortZdesc�funcrvr�valuerHrHrIr��sb


	


z Distribution._parse_command_optscCstxmdD]e}t|j|�}|dkr.qt|t�rdd�|jd�D�}t|j||�qWdS)Nr>r:cSsg|]}|j��qSrH)�strip)rFZelmrHrHrIrJ_s	z1Distribution.finalize_options.<locals>.<listcomp>�,)r>r:)rVrTr��strr�rR)rrrsr�rHrHrIrqUs
zDistribution.finalize_optionsc
Cspddlm}ddlm}|ro|r;|j�}n	|j}|j|�|j|jd�t	d�|r�|j|j
�|jdd�t	d�x�|jD]�}t|t
�r�t||�r�|}	n|j|�}	t|	d�r't|	jt�r'|j|	jt|	j��n|j|	j�|jd	|	j�t	d�q�Wt	||j��dS)
Nr)�	gen_usage)r�z
Global options:rLz*Information display options (just display z!information, ignore any commands)r�zOptions for '%s' command:)�distutils.corer�r�r�r�r�r��
print_help�common_usage�printr�r�r��typer�r�rmr�r�r�r�r�rY)
rrr�r�r�r�r�r�rMru�klassrHrHrIr�bs6	


	zDistribution._show_helpc	Csddlm}|jrD|j�td�t||j��dSd}i}x|jD]}d||d<qZWx�|D]�\}}|ry|j|�ryt|�}t	|j
d|��}|dkr�tdj|��n,|dkrtd
j|��n
t|�d}qyW|S)Nr)r�rLrrKr>r:r�r<r@rBrDrN)r>r:)r<r@rBrD)r�r�Z
help_commands�print_commandsr�rYr�rerrVrTr�)	rrr�r�Zany_display_optionsZis_display_option�optionrwrxr�rHrHrIr��s,	

	

z#Distribution.handle_display_optionscCs�t|d�xt|D]l}|jj|�}|sB|j|�}y
|j}Wntk
rid}YnXtd|||f�qWdS)N�:z(no description available)z
  %-*s  %s)r�rWrer�r6�AttributeError)rrr�r��
max_length�cmdr�r6rHrHrI�print_command_list�s


zDistribution.print_command_listcCs�ddl}|jj}i}x|D]}d||<q%Wg}x3|jj�D]"}|j|�sO|j|�qOWd}x0||D]$}t|�|kr�t|�}q�W|j|d|�|r�t	�|j|d|�dS)NrrzStandard commandszExtra commands)
�distutils.commandru�__all__rWr�rer�r�r�r�)rrr��std_commands�is_stdr��extra_commandsr�rHrHrIr��s*
		zDistribution.print_commandsc	Cs�ddl}|jj}i}x|D]}d||<q%Wg}x3|jj�D]"}|j|�sO|j|�qOWg}xt||D]h}|jj|�}|s�|j|�}y
|j}Wnt	k
r�d}YnX|j||f�q�W|S)Nrrz(no description available))
r�rur�rWr�rer�r�r6r�)	rrr�r�r�r�r��rvr�r6rHrHrI�get_command_list�s(	


zDistribution.get_command_listcCso|j}t|t�sk|dkr*d}dd�|jd�D�}d|krb|jdd�||_|S)NrLcSs(g|]}|dkr|j��qS)rL)r�)rFZpkgrHrHrIrJs	z5Distribution.get_command_packages.<locals>.<listcomp>r�zdistutils.commandr)rXr�r�r��insert)rrZpkgsrHrHrI�get_command_packagess		z!Distribution.get_command_packagescCs�|jj|�}|r|Sx�|j�D]�}d||f}|}yt|�tj|}Wntk
rww)YnXyt||�}Wn+tk
r�t	d|||f��YnX||j|<|SWt	d|��dS)Nz%s.%sz3invalid command '%s' (no class '%s' in module '%s')zinvalid command '%s')
rWrer��
__import__rjr��ImportErrorrVr�r�)rrrur�Zpkgname�module_nameZ
klass_name�modulerHrHrIr�s(



zDistribution.get_command_classcCs�|jj|�}|r�|r�tr6|jd|�|j|�}||�}|j|<d|j|<|jj|�}|r�|j||�|S)Nz<Distribution.get_command_obj(): creating '%s' command objectr)rcrer
r�r�rdr[�_set_command_options)rrruZcreate�cmd_objr�rMrHrHrI�get_command_objBs
	
zDistribution.get_command_objc!Cs�|j�}|dkr'|j|�}tr>|jd|�xz|j�D]l\}\}}tr}|jd|||f�ydd�|jD�}Wntk
r�g}YnXy
|j}Wntk
r�i}YnXy�t|t	�}	||kr|	rt
|||t|��nf||krG|	rGt
||t|��n;t||�rit
|||�nt
d|||f��WqKtk
r�}
zt
|
��WYdd}
~
XqKXqKWdS)Nz#  setting options for '%s' command:z    %s = %s (from %s)cSsg|]}t|��qSrH)r)rF�orHrHrIrJqs	z5Distribution._set_command_options.<locals>.<listcomp>z1error in %s: command '%s' has no such option '%s')�get_command_namergr
r�rfZboolean_optionsr�r�r�r�rRrrmr�r�)rrrcZoption_dict�command_namer��sourcer�Z	bool_optsZneg_optZ	is_stringryrHrHrIr�]s>		


z!Distribution._set_command_optionsrcCs�ddlm}t||�s7|}|j|�}n|j�}|jsP|S|j�d|_d|j|<|j|�|r�x$|j	�D]}|j
||�q�W|S)Nr)r�)r�r�r�r�r�Z	finalizedZinitialize_optionsrdr�Zget_sub_commands�reinitialize_command)rrruZreinit_subcommandsr�r��subrHrHrIr��s	
	

z!Distribution.reinitialize_commandcCstj||�dS)N)r	)rrry�levelrHrHrIr��szDistribution.announcecCs%x|jD]}|j|�q
WdS)N)r��run_command)rrr�rHrHrI�run_commands�szDistribution.run_commandscCsZ|jj|�rdStjd|�|j|�}|j�|j�d|j|<dS)Nz
running %sr)rdrer	�infor�Zensure_finalized�run)rrrur�rHrHrIr��s	

zDistribution.run_commandcCs"t|jp|jpg�dkS)Nr)r�r\r])rrrHrHrI�has_pure_modules�szDistribution.has_pure_modulescCs|jot|j�dkS)Nr)r`r�)rrrHrHrI�has_ext_modules�szDistribution.has_ext_modulescCs|jot|j�dkS)Nr)r^r�)rrrHrHrI�has_c_libraries�szDistribution.has_c_librariescCs|j�p|j�S)N)r�r)rrrHrHrI�has_modules�szDistribution.has_modulescCs|jot|j�dkS)Nr)r_r�)rrrHrHrI�has_headers�szDistribution.has_headerscCs|jot|j�dkS)Nr)rar�)rrrHrHrI�has_scripts�szDistribution.has_scriptscCs|jot|j�dkS)Nr)rbr�)rrrHrHrI�has_data_files�szDistribution.has_data_filescCs$|j�o#|j�o#|j�S)N)r�rr)rrrHrHrI�is_pure�s
zDistribution.is_pure)rr
rr)rrr)rrr)rrr)rNr)rNr)rNr)rr r!)r"Nr#)r$Nr%)r&Nr')r(Nr))r*Nr+)r,Nr-)r.Nr/)r0Nr1)r2Nr3)r4Nr5)r6Nr7)r8Nr9)r:Nr;)r<Nr=)r>Nr?)r@NrA)rBNrC)rDNrE)(r��
__module__�__qualname__r�r�r�rQr�r|rgr�r�r�r�r�r�rqr�r�r�r�r�r�r�r�r�r�r	�INFOr�r�r�r�rrrrrrrrHrHrHrIrs�	
	�0:C[
1(!"&,)
rc@soeZdZdNZddd�Zdd�Zdd�Zdd�Zdd�Zd d!�Z	d"d#�Z
d$d%�Zd&d'�Zd(d)�Z
d*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�ZeZd6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Zd@dA�ZdBdC�ZdDdE�ZdFdG�ZdHdI�ZdJdK�ZdLdM�Z dS)OrSrrr$�author_emailr(�maintainer_emailr0r2r6�long_descriptionr>r:r"r,�
contact_emailr<�download_urlr@rBrDNcCs�|dk	r"|jt|��n�d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_dS)N)�
read_pkg_file�openrrr$r
r(rr0r2r6rr>r:r<rr@rBrD)rrr�rHrHrIr|s&																zDistributionMetadata.__init__cs�t|���fdd�}�fdd�}�d}|d�|_|d�|_|d�|_|d	�|_d|_|d
�|_d|_|d�|_|d�|_	d
�kr�|d
�|_
n	d|_
|d�|_|d�|_d�kr|d�jd�|_
|d�|_|d�|_|dkrx|d�|_|d�|_|d�|_nd|_d|_d|_dS)Ncs�|}|dkrdS|S)N�UNKNOWNrH)rr�)ryrHrI�_read_fields
z7DistributionMetadata.read_pkg_file.<locals>._read_fieldcs&�j|d�}|gkr"dS|S)N)Zget_all)r�values)ryrHrI�
_read_list$sz6DistributionMetadata.read_pkg_file.<locals>._read_listzmetadata-versionrrZsummaryr$zauthor-emailz	home-pager2zdownload-urlr6r>r��platformZ
classifierz1.1rBr@rD)rrrr6r$r(r
rr0r2rrr�r>r:r<rBr@rD)rr�filerrZmetadata_versionrH)ryrIrs:
					z"DistributionMetadata.read_pkg_filec	Cs?ttjj|d�ddd��}|j|�WdQRXdS)NzPKG-INFO�w�encodingzUTF-8)rr�r�r��write_pkg_file)rr�base_dirZpkg_inforHrHrI�write_pkg_infoNsz#DistributionMetadata.write_pkg_infocCs�d}|js3|js3|js3|js3|jr9d}|jd|�|jd|j��|jd|j��|jd|j��|jd|j	��|jd|j
��|jd	|j��|jd
|j��|jr|jd|j�t
|j��}|jd|�d
j|j��}|rW|jd|�|j|d|j��|j|d|j��|j|d|j��|j|d|j��|j|d|j��dS)Nz1.0z1.1zMetadata-Version: %s
z	Name: %s
zVersion: %s
zSummary: %s
zHome-page: %s
zAuthor: %s
zAuthor-email: %s
zLicense: %s
zDownload-URL: %s
zDescription: %s
r�z
Keywords: %s
ZPlatformZ
ClassifierZRequiresZProvidesZ	Obsoletes)r@rBrDr<rrl�get_name�get_version�get_description�get_url�get_contact�get_contact_email�get_licenser�get_long_descriptionr��get_keywords�_write_list�
get_platforms�get_classifiers�get_requires�get_provides�
get_obsoletes)rrrrZ	long_descr>rHrHrIrUs0	z#DistributionMetadata.write_pkg_filecCs,x%|D]}|jd||f�qWdS)Nz%s: %s
)rl)rrrrrr�rHrHrIr%ws
z DistributionMetadata._write_listcCs
|jpdS)Nr)r)rrrHrHrIr}szDistributionMetadata.get_namecCs
|jpdS)Nz0.0.0)r)rrrHrHrIr�sz DistributionMetadata.get_versioncCsd|j�|j�fS)Nz%s-%s)rr)rrrHrHrI�get_fullname�sz!DistributionMetadata.get_fullnamecCs
|jpdS)Nr)r$)rrrHrHrI�
get_author�szDistributionMetadata.get_authorcCs
|jpdS)Nr)r
)rrrHrHrI�get_author_email�sz%DistributionMetadata.get_author_emailcCs
|jpdS)Nr)r()rrrHrHrI�get_maintainer�sz#DistributionMetadata.get_maintainercCs
|jpdS)Nr)r)rrrHrHrI�get_maintainer_email�sz)DistributionMetadata.get_maintainer_emailcCs|jp|jpdS)Nr)r(r$)rrrHrHrIr �sz DistributionMetadata.get_contactcCs|jp|jpdS)Nr)rr
)rrrHrHrIr!�sz&DistributionMetadata.get_contact_emailcCs
|jpdS)Nr)r0)rrrHrHrIr�szDistributionMetadata.get_urlcCs
|jpdS)Nr)r2)rrrHrHrIr"�sz DistributionMetadata.get_licensecCs
|jpdS)Nr)r6)rrrHrHrIr�sz$DistributionMetadata.get_descriptioncCs
|jpdS)Nr)r)rrrHrHrIr#�sz)DistributionMetadata.get_long_descriptioncCs
|jpgS)N)r>)rrrHrHrIr$�sz!DistributionMetadata.get_keywordscCs|jpdgS)Nr)r:)rrrHrHrIr&�sz"DistributionMetadata.get_platformscCs
|jpgS)N)r<)rrrHrHrIr'�sz$DistributionMetadata.get_classifierscCs
|jpdS)Nr)r)rrrHrHrI�get_download_url�sz%DistributionMetadata.get_download_urlcCs
|jpgS)N)rB)rrrHrHrIr(�sz!DistributionMetadata.get_requirescCs:ddl}x|D]}|jj|�qW||_dS)Nr)�distutils.versionpredicate�versionpredicate�VersionPredicaterB)rrr�r�r
rHrHrI�set_requires�s
z!DistributionMetadata.set_requirescCs
|jpgS)N)r@)rrrHrHrIr)�sz!DistributionMetadata.get_providescCsMdd�|D�}x*|D]"}ddl}|jj|�qW||_dS)NcSsg|]}|j��qSrH)r�)rFr
rHrHrIrJ�s	z5DistributionMetadata.set_provides.<locals>.<listcomp>r)r1r2Zsplit_provisionr@)rrr�r
r�rHrHrI�set_provides�s

z!DistributionMetadata.set_providescCs
|jpgS)N)rD)rrrHrHrIr*�sz"DistributionMetadata.get_obsoletescCs:ddl}x|D]}|jj|�qW||_dS)Nr)r1r2r3rD)rrr�r�r
rHrHrI�
set_obsoletes�s
z"DistributionMetadata.set_obsoletes)rrr$r
r(rr0r2r6rr>r:r"r,r
r2r<rr@rBrD)!r�rrrUr|rrrr%rrr+r,r-r.r/r r!rr"Zget_licencerr#r$r&r'r0r(r4r)r5r*r6rHrHrHrIrS�sH4"rScCs2g}x%|D]}|j|dd��q
W|S)Nr�)r�)rMZnew_optionsZ
help_tuplerHrHrIr��s
r�)rjr��reZemailrrhr�Zdistutils.errorsZdistutils.fancy_getoptrrZdistutils.utilrrrr�r	Zdistutils.debugr
�compiler�rrSr�rHrHrHrI�<module>s&

�����

?>