Your IP : 18.219.95.160


Current Path : /lib64/python2.7/distutils/command/
Upload File :
Current File : //lib64/python2.7/distutils/command/bdist_wininst.pyo

�
�mec@s�dZdZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
ddlmZdd	lmZd
efd��YZdS(szdistutils.command.bdist_wininst

Implements the Distutils 'bdist_wininst' command: create a windows installer
exe-program.s$Id$i����N(tget_python_version(tCommand(tremove_tree(tDistutilsOptionErrortDistutilsPlatformError(tlog(tget_platformt
bdist_wininstcBs�eZdZd,ddde�fdddd	fd
d+ddfd-d.d/d0d1d2d3d4d5g
Zdd
ddgZd$�Zd%�Zd&�Z	d'�Z
d+d(�Zd)�Zd*�Z
RS(6s-create an executable installer for MS Windowss
bdist-dir=s1temporary directory for creating the distributions
plat-name=tps;platform name to embed in generated filenames (default: %s)s	keep-temptks/keep the pseudo-installation tree around after s!creating the distribution archivestarget-version=s!require a specific python versions on the target systemsno-target-compiletcs/do not compile .py to .pyc on the target systemsno-target-optimizetos:do not compile .py to .pyo (optimized)on the target systems	dist-dir=tds-directory to put final built distributions insbitmap=tbs>bitmap to use for the installer instead of python-powered logostitle=tts?title to display on the installer background instead of defaults
skip-builds2skip rebuilding everything (for testing/debugging)sinstall-script=sTbasename of installation script to be run afterinstallation or before deinstallationspre-install-script=s{Fully qualified filename of a script to be run before any files are installed.  This script need not be in the distributionsuser-access-control=s�specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACcCsyd|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
dS(Ni(tNonet	bdist_dirt	plat_namet	keep_temptno_target_compiletno_target_optimizettarget_versiontdist_dirtbitmapttitlet
skip_buildtinstall_scripttpre_install_scripttuser_access_control(tself((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pytinitialize_options@s												cCsV|jdd	�|jdkr|jrR|jrR|jjd�}|j|_n|jd�j}t	j
j|d�|_n|js�d|_n|jr�|jj
�r�t�}|jr�|j|kr�td|f�n||_n|jdd
d�|jrRxF|jjD]%}|jt	j
j|�krPqqWtd|j�ndS(NtbdistRtwininsttsMtarget version can only be %s, or the '--skip-build' option must be specifiedRRs(install_script '%s' not found in scripts(s
skip_builds
skip_build(sdist_dirsdist_dir(s	plat_names	plat_name(tset_undefined_optionsRRRRtdistributiontget_command_objtget_finalized_commandt
bdist_basetostpathtjoinRthas_ext_modulesRRRtscriptstbasename(RRR&t
short_versiontscript((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pytfinalize_optionsRs4		
		c
Cs�tjdkr<|jj�s-|jj�r<td��n|jsU|jd�n|jddd�}|j	|_
|j|_d|_|j|_|jd�}d|_
d|_|jj�r-|j}|s�tjdd	!}nd
|j|f}|jd�}tjj|jd|�|_nxJdD]B}tj|�}|dkrb|d}nt|d||�q4Wtjd|j	�|j�tjjdtjj|j	d��|j�tjd=ddlm }|�}	|jj!�}
|j"|	dd|j	�}|j#||
|j$�|jj�rDt%�}nd}|jj&j'd||j(|
�f�tj)d|�tj*|�|j+s�t,|j	d|j-�ndS(Ntwin32s^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformtbuildtinstalltreinit_subcommandsiitinstall_libis.%s-%stlibtpurelibtplatlibtheadersR+tdatas/Include/$dist_nametinstall_sinstalling to %stPURELIBi����(tmktemptziptroot_dirtanyRsremoving temporary file '%s'tdry_run(spurelibsplatlibR8sscriptssdata(.tsystplatformR#R*thas_c_librariesRRtrun_commandtreinitialize_commandRtroottwarn_dirRtcompiletoptimizeRtversionR%R'R(R)t
build_baset	build_libtstringtuppertsetattrRtinfotensure_finalizedtinserttrunttempfileR<tget_fullnametmake_archivet
create_exeRRt
dist_filestappendtget_installer_filenametdebugtremoveRRR@(
RR2R4Rtplat_specifierR1tkeytvalueR<tarchive_basenametfullnametarcnamet	pyversion((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyRSzsd					


%

	
	c	Cs�g}|jj}|jd�|jp+dd}d�}x�ddddd	d
ddgD]a}t||d�}|rZ|d
tj|�||�f}|jd|||�f�qZqZW|jd�|jr�|jd|j�n|jd||��|jd|j�|jd|j	�|j
rM|jd|j
�n|jrm|jd|j�n|jp�|jj
�}|jd||��ddl}ddl}	d|j|j��|	jf}
|jd|
�tj|d�S(Ns
[metadata]R!s
cSstj|dd�S(Ns
s\n(RMtreplace(ts((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pytescape�stauthortauthor_emailtdescriptiont
maintainertmaintainer_emailtnameturlRJs
    %s: %ss%s=%ss
[Setup]sinstall_script=%ssinfo=%sstarget_compile=%dstarget_optimize=%dstarget_version=%ssuser_access_control=%sstitle=%si����sBuilt %s with distutils-%ss
build_info=%s(R#tmetadataRYtlong_descriptiontgetattrRMt
capitalizeRRRRRRRUttimet	distutilstctimet__version__R)(RtlinesRnRPRfRlR9RRrRst
build_info((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pytget_inidata�s<
	$
			cCs�ddl}|j|j�|j�}|j|�}|jd|�|rrt|d�j�}t|�}nd}t|d�}	|	j	|j
��|r�|	j	|�nytWntk
r�n"Xt
|t�r�|jd�}n|d}|jr)t|jd�j�}
||
d	}n
|d}|	j	|�|jd
dt|�|�}|	j	|�|	j	t|d�j��dS(Ni����screating %strbitwbtmbcsttrs
s<iiii{V4(tstructtmkpathRRxRZtannouncetopentreadtlentwritet
get_exe_bytestunicodet	NameErrort
isinstancetencodeRtpack(RRbRaRR~tcfgdatatinstaller_namet
bitmapdatat	bitmaplentfiletscript_datatheader((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyRW�s>

	

			
cCs`|jr7tjj|jd||j|jf�}n%tjj|jd||jf�}|S(Ns%s.%s-py%s.exes	%s.%s.exe(RR'R(R)RR(RRaR�((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyRZ5s	cCsddlm}t�}|jrm|j|krm|j|krL|�}qv|jdkrdd}qvd}n	|�}tjjt�}|jdkr�|jd dkr�|jd}nd	}tjj	|d
||f�}t
|d�}z|j�SWd|j�XdS(Ni����(tget_build_versions2.4g@gffffff@R0itwinR!swininst-%.1f%s.exeRy(
tdistutils.msvccompilerR�RRR'R(tdirnamet__file__RR)R�R�tclose(RR�tcur_versiontbvt	directorytsfixtfilenametf((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyR�Cs$					"N(s
bdist-dir=Ns1temporary directory for creating the distribution(sno-target-compileR
s/do not compile .py to .pyc on the target system(sno-target-optimizeRs:do not compile .py to .pyo (optimized)on the target system(s	dist-dir=Rs-directory to put final built distributions in(sbitmap=R
s>bitmap to use for the installer instead of python-powered logo(stitle=Rs?title to display on the installer background instead of default(s
skip-buildNs2skip rebuilding everything (for testing/debugging)(sinstall-script=NsTbasename of installation script to be run afterinstallation or before deinstallation(spre-install-script=Ns{Fully qualified filename of a script to be run before any files are installed.  This script need not be in the distribution(suser-access-control=Ns�specify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UAC(t__name__t
__module__RiRRtuser_optionstboolean_optionsRR/RSRxRWRZR�(((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyRsN
					(	S	17	(t__doc__t__revision__RAR'RMt	sysconfigRtdistutils.coreRtdistutils.dir_utilRtdistutils.errorsRRRsRtdistutils.utilRR(((s7/usr/lib64/python2.7/distutils/command/bdist_wininst.pyt<module>s