Viewing File: /opt/alt/python38/lib64/python3.8/distutils/command/__pycache__/bdist_msi.cpython-38.opt-2.pyc

U

¡ê,a߉ã@s¼ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
ddlmZddlZdd	lmZmZmZdd
lmZmZmZmZGdd„deƒZGd
d„deƒZdS)éN)ÚCommand)Úremove_tree)Úget_python_version)Ú
StrictVersion)ÚDistutilsOptionError)Úget_platform)Úlog)ÚschemaÚsequenceÚtext)Ú	DirectoryÚFeatureÚDialogÚadd_datac@sBeZdZdd„Zdd„Zddd„Zdd
d„Zdd
d„Zdd„ZdS)ÚPyDialogcOs>tj|f|žŽ|jd}d|d}| dd||jd¡dS)Né$é˜iHZ
BottomLiner)rÚ__init__ÚhÚlineÚw)ÚselfÚargsÚkwZrulerZbmwidth©rú@/opt/alt/python38/lib64/python3.8/distutils/command/bdist_msi.pyrs
zPyDialog.__init__c
Cs| ddddddd|¡dS)NÚTitleéé
é@é<éz{\VerdanaBold10}%s)r)rÚtitlerrrr"#sÿzPyDialog.titleÚBackéc
Cs,|r
d}nd}| |d|jddd|||¡S)Nér$é´éé8é©Ú
pushbuttonr©rr"ÚnextÚnameÚactiveÚflagsrrrÚback*sz
PyDialog.backÚCancelc
Cs,|r
d}nd}| |d|jddd|||¡S)Nr%r$i0r'r(r)r*r,rrrÚcancel5szPyDialog.cancelÚNextc
Cs,|r
d}nd}| |d|jddd|||¡S)Nr%r$éìr'r(r)r*r,rrrr-@sz
PyDialog.nextc
Cs,| |t|j|dƒ|jdddd||¡S)Nér'r(r)r%)r+Úintrr)rr.r"r-ZxposrrrÚxbuttonKszPyDialog.xbuttonN)r#r$)r2r$)r4r$)	Ú__name__Ú
__module__Ú__qualname__rr"r1r3r-r8rrrrrs



rc@s°eZdZdZddddeƒfdddd	d
ddd
g
ZddddgZddddddddddddddd d!d"d#d$d%gZd&Zd'd(„Z	d)d*„Z
d+d,„Zd-d.„Zd/d0„Z
d1d2„Zd3d4„Zd5d6„Zd7S)8Ú	bdist_msiz7create a Microsoft Installer (.msi) binary distribution)z
bdist-dir=Nz1temporary directory for creating the distributionz
plat-name=Úpz;platform name to embed in generated filenames (default: %s))ú	keep-tempÚkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)úno-target-compileÚcz/do not compile .py to .pyc on the target system)úno-target-optimizeÚoz;do not compile .py to .pyo (optimized) on the target system)z	dist-dir=Údz-directory to put final built distributions in)ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed.  This script need not be in the distributionr>r@rBrEz2.0z2.1z2.2z2.3z2.4z2.5z2.6z2.7z2.8z2.9z3.0z3.1z3.2z3.3z3.4z3.5z3.6z3.7z3.8z3.9ÚXcCsFd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
dS)Nr)Ú	bdist_dirÚ	plat_nameÚ	keep_tempZno_target_compileZno_target_optimizeÚtarget_versionÚdist_dirÚ
skip_buildÚinstall_scriptÚpre_install_scriptÚversions)rrrrÚinitialize_options}szbdist_msi.initialize_optionscCsò| dd¡|jdkr2| d¡j}tj |d¡|_tƒ}|jsN|j	 
¡rN||_|jrˆ|jg|_|js”|j	 
¡r”|j|kr”t
d|fƒ‚nt|jƒ|_| ddd¡|jr°t
dƒ‚|jrè|j	jD]}|jtj |¡kr¾qèq¾t
d|jƒ‚d|_dS)	NZbdist)rLrLZmsizMtarget version can only be %s, or the '--skip-build' option must be specified)rKrK)rHrHz5the pre-install-script feature is not yet implementedz(install_script '%s' not found in scripts)Zset_undefined_optionsrGÚget_finalized_commandÚ
bdist_baseÚosÚpathÚjoinrrJÚdistributionÚhas_ext_modulesrOrLrÚlistÚall_versionsrNrMZscriptsÚbasenameÚinstall_script_key)rrRZ
short_versionZscriptrrrÚfinalize_optionsŠsH

ÿÿÿþÿÿÿzbdist_msi.finalize_optionscCsz|js| d¡|jddd}|j|_|j|_d|_| d¡}d|_d|_|j 	¡rž|j
}|spdtjdd…}d	|j
|f}| d¡}tj |jd
|¡|_t d|j¡| ¡tj dtj |jd¡¡| ¡tjd=| |j¡|j ¡}| |¡}tj |¡}tj |¡r"t |¡|jj }|j!}	|	s<|j"}	|	sFd
}	| #¡}
dt$|
ƒj%}|j ¡}|j
r~d|j
|f}nd|}t& '|t(|t& )¡||	¡|_*t& +|j*t,¡d|
fg}
|j-pÄ|j.}|rÚ|
 /d|f¡|j0rò|
 /d|j0f¡|
rt1|j*d|
ƒ| 2¡| 3¡| 4¡| 5¡|j* 6¡t7|jdƒr^d|j
pJd|f}|jj8 /|¡|j9svt:|j|j;ddS)NÚbuildÚinstallr$)Zreinit_subcommandsrÚinstall_libz%d.%déz.%s-%sÚlibzinstalling to %sZPURELIBZUNKNOWNz%d.%d.%dzPython %s %sz	Python %sZDistVersionZ
ARPCONTACTZARPURLINFOABOUTÚPropertyÚ
dist_filesr<Úany)Údry_run)<rLZrun_commandZreinitialize_commandrGÚprefixZwarn_dirÚcompileÚoptimizerVrWrJÚsysÚversion_inforHrQrSrTrUZ
build_baseZ	build_librÚinfoZensure_finalizedÚinsertÚrunZmkpathrKÚget_fullnameÚget_installer_filenameÚabspathÚexistsÚunlinkÚmetadataÚauthorZ
maintainerZget_versionrÚversionÚmsilibZ
init_databaser	Zgen_uuidÚdbZ
add_tablesr
Zauthor_emailZmaintainer_emailÚappendZurlrÚadd_find_pythonÚ	add_filesÚadd_scriptsÚadd_uiÚCommitÚhasattrrcrIrre)rr^r_rJZplat_specifierr]ÚfullnameÚinstaller_namersrtruZsversionZproduct_nameZpropsZemailÚtuprrrrm²s„




ÿ



þ

z
bdist_msi.runc
Cs|j}t d¡}tj |j¡}t||d|ddƒ}t|ddddddd}||d	fg}|j	|j
gD]t}d|}d|}	}
d}||j
krd
}d}
nd|}d}
t||	||d|
|d}t||||||
ƒ}| |||f¡q`| ¡i}|D]\}}}|g}|rü| 
¡}t |j¡D]æ}tj |j|¡}tj |¡rld
| |¡|f}||}
t|||||
|ƒ}| |¡nŠ|js„| |j|d¡||krÌ| |¡}||<||jkrö|jrÀtd|ƒ‚d||_n*||}t|jd|||j|d|jfgƒqqø| ¡qæ| |¡dS)NZ	distfilesÚ	TARGETDIRZ	SourceDirÚPythonZ
Everythingrr$)Z	directoryÚzPython from another locationr`zPython %s from registryz%s|%szMultiple files with name %sz[#%s]Z
DuplicateFile)rwrvZCABrSrTrprGrr
rOÚ
other_versionrxr}ÚpopÚlistdirZabsoluterUÚisdirZ
make_shortZ	componentZstart_componentZlogicalZadd_filerMr[rrZcommit)rrwZcabZrootdirÚrootÚfÚitemsruÚtargetr.ÚdefaultZdescr"ÚlevelÚdirÚseenZfeatureZtodoÚfileZafileZshortZnewdirÚkeyrrrrz
sf

ÿ

ÿÿ

zbdist_msi.add_filescCs|d}|jD]j}d|}d|}d|}d|}d|}d|}d|}	d	|}
d
|}d|}tjrld}
nd
}
t|jd|d
|d|
f|d|d|
fgƒt|jd||f||fgƒt|jd|d|d|df|	d|d|df|
d|d|dfgƒt|jd|||f|	||df|
d|d
fgƒt|jd|||f|	||df|
d|d
fgƒt|jdd|dd|fgƒ|d7}q
dS)Ni’z)SOFTWARE\Python\PythonCore\%s\InstallPathzpython.machine.zpython.user.zPYTHON.MACHINE.zPYTHON.USER.ZPythonFromMachineZPythonFromUserZ	PythonExer‚ÚPYTHONér`Z
RegLocatorr$Z	AppSearchÚCustomActioni3ú[ú]z]\python.exeÚInstallExecuteSequenceÚInstallUISequenceZ	Conditionrƒrz
NOT TARGETDIRé)rOrvZWin64rrw)rÚstartÚverZinstall_pathZmachine_regZuser_regZmachine_propZ	user_propZmachine_actionZuser_actionZ
exe_actionZtarget_dir_propÚexe_propZTyperrrryCs`ÿÿÿÿþÿþÿþÿÿzbdist_msi.add_find_pythonc
Cs|jrjd}|j|jgD]P}d|}d|}t|jd|d||jfgƒt|jd|d||fgƒ|d7}q|jrþtj 	|j
d	¡}t|d
ƒ4}| d¡t|jƒ}| | 
¡¡W5QRXW5QRXt|jdd
t |¡fgƒt|jddgƒt|jddgƒdS)Nizinstall_script.r“r•é2r˜z&Python%s=3r$zpreinstall.batrzrem ="""
%1 %0
exit
"""
ÚBinaryÚ
PreInstall)r r`r N)r z
NOT InstallediÂ)rMrOr…rrwr[rNrSrTrUrGÚopenÚwriteÚreadrvrŸ)rr›rœZinstall_actionrZscriptfnrŠZfinrrrr{ys6ÿÿ
	
"ÿÿÿzbdist_msi.add_scriptscCsÈ
|j}d}}d}d}d}d}d}d}	t|dd	d
ddd
dgƒt|dddddgƒt|ddddddgƒt|dtjƒt|dtjƒt|d||||||dddƒ}
|
 d¡|
jddd d!|
jd"d#d d!|
 d$d%d&d'd(d)d*¡|
 d+d%d,d'd-d)d.¡|
j	dd"dd/}| 
d0d1¡t|d2||||||dddƒ}| d3¡|jddd d!|jd"d#d d!| d$d%d&d'd(d)d4¡| d+d%d,d'd-d)d.¡|j	dd"dd/}| 
d0d1¡t|d5||||||dddƒ}
|
 d6¡|
jddd d!|
jd"d#d d!|
 d7d%d8d'd-d)d.¡|
j	dd"dd/}| 
d0d9¡t|d:||||d;|d<d<d<d=d>}| d?d%d@dAd%d)dB¡| d7d-dCdDd-d)dE¡| dFd-dGdHdddI¡| dJdKd-dLdHdMdNdOddd¡|jd1dPd1d/}| 
d0d1¡|j	dPd<dPd/}| 
d0dP¡|jd<d1d<d/}| 
d0d<¡t|dQddRdHdSdT|dUddƒ}| dUddVdDdWddX¡| 
dYdZd[d\d]dd^d¡ 
d0d_¡| 
d`dad[d\d]ddbd¡ 
d0dc¡| 
ddd d[d\d]dded¡ 
d0df¡| 
dgdhd[d\d]dd"d¡ 
d0di¡| 
djd\d[d\d]ddPd¡ 
d0dk¡| 
dldmd[d\d]ddnd¡ 
d0do¡| 
dpdqd[d\d]dd<d¡ 
d0dr¡t|dsddRdtdud|d^d^d^ƒ}| dFdWd%dvdwddx¡| 
dbd[dydzd{ddbd^¡}| 
d0d1¡| 
d^d|dydzd{dd^db¡}| 
d0d9¡t|d}ddRdtdu||d9d9d9ƒ}| dFdWd%dvdwdd~¡| 
d9ddydzd{dd9d¡}| 
d0d1¡t|d€||||||d"d"d"ƒ}| d7d%d&d'dd)d‚¡| dƒ¡| dd%d„d'd-d)d…¡}| ddF¡| d†d%d‡d'dwd)d¡}| d†dF¡|jd#dd d!|j	dˆdd d!| d"d¡}| 
d‰ds¡t|dŠ||||||dˆdˆd"ƒ}| d‹¡| dŒd%dwdd-dd|j ¡¡|jddd d!| 	dŽd"¡}d}|j
dd|d‘|j|jgD](}|d7}|j
dd’|d“||d‘q
|j
d”d}|dd‘|j
d0d9|d•d‘| d"d–¡}| 
d‰ds¡| d–d—d%d˜ddZdd™ddšd¡}| 
d›dœ¡|j}d“|}d|}| džd%dAdd%ddŸ¡}| d |¡| d¡|¡| d¢|¡| d£|¡| dšdšd%d¤dd¥dd¦|ddˆd¡}| d |¡| d¡|¡| d¢|¡| d£|¡t|d§||||||d¨d¨d¨d=d>}| d?d%d@dAd%d)d©¡| d7d-d-dDd-d)dª¡| dFd-d«dHd˜dd¬¡| d­d®d-d¯dHd°d±dd²dd¡| d¨dndd³¡ 
d0d9¡t|d´||||||dµdˆd"ƒ}| d¶¡| dµd%d˜dtddd·dXdˆ¡	}| d¸d d¹d°d-dº¡| d»d d¼d°d-d½¡|jd#dd d!| 	dŽd"¡}| 
d¾dœd¿d¡|j
d0d9d•d‘| d"dµ¡}| 
d‰ds¡t|dÀ||||||d"d"d"d=d>}| d?d-d%dAd%d)dÁ¡| dFdÂdÃddwddÄ¡| dÅdÂd¯dÂd-ddÆ¡| dd&d¯|d&d-dd…¡}| ddF¡| dÇdÇdÂdZddRdÈddÉdd¡}| dÊdË¡|jddˆd=d!|j	dŽd"d=d!| d"d#¡ 
d‰ds¡t|dÌ||||||dˆdˆd"ƒ}| dÍ¡| dÎd%dÏdHdhddС| dÑd%dÒdHd˜ddÓdXdˆ¡	}| dÔd dÕdAd{dÖ¡| d×d dØdAd{dÙ¡|jddd=d!| 	dd"¡}| 
dÚd¸dÛd¹¡| 
dÜdÝdÛd@¡| 
dÞdßdÛdN¡| 
dàd¸dÛdá¡| 
dâd¸dãdä¡| 
dÜdådãdæ¡| 
dÞdçdãdè¡| 
d×d¸dãdé¡| 
d0d9dêd-¡| d"dÑ¡ 
d‰ds¡dS)ëNržiri,z[ProductName] Setupr%r$é rb)Z
DefaultUIFontÚDlgFont8)ZErrorDialogÚErrorDlg)Z	Progress1ZInstall)Z	Progress2Zinstalls)ÚMaintenanceForm_ActionÚRepair)Ú
WhichUsersÚALLZ	TextStyle)r¥ÚTahomaé	Nr)ZDlgFontBold8r«éNr$)Z
VerdanaBold10ÚVerdanarNr$)ZVerdanaRed9r®r¬éÿrr™)Ú
PrepareDlgz(Not Privileged or Windows9x or InstalledéŒ)Ú
WhichUsersDlgz.Privileged and not Windows9x and not Installedé)ÚSelectFeaturesDlgz
Not InstallediÎ)ÚMaintenanceTypeDlgz,Installed AND NOT RESUME AND NOT Preselectediâ)ÚProgressDlgNiÚ
ActionTextÚUITextZ
FatalErrorZFinishz)[ProductName] Installer ended prematurelyz< Backr)r/r2r#ZDescription1réFréPr!z«[ProductName] setup ended prematurely because of an error.  Your system has not been modified.  To install this program at a later time, please run the installation again.ZDescription2é›éz.Click the Finish button to exit the Installer.)r.Z	EndDialogZExitZUserExitz'[ProductName] Installer was interruptedz•[ProductName] setup was interrupted.  Your system has not been modified.  To install this program at a later time, please run the installation again.Z
ExitDialogz&Completing the [ProductName] InstallerZDescriptionéëZReturnZ
FilesInUseéZRetryF)ZbitmaprééÈz{\DlgFontBold8}Files in Useéiz8Some files that need to be updated are currently in use.ZTexté7iJz²The following applications are using files that need to be updated by this setup. Close these applications and then click Retry to continue the installation or Cancel to exit it.ZListZListBoxéké‚éZFileInUseProcessÚIgnorer¦réeiZ	ErrorTextr¬é0r„ÚNéxéHéQéZNoZErrorNoÚYéðZYesZErrorYesÚAZAbortZ
ErrorAbortÚCé*ZErrorCancelÚIZErrorIgnoreÚOéŸZOkZErrorOkÚRéÆZ
ErrorRetryZ	CancelDlgiéUéÂéz;Are you sure you want to cancel [ProductName] installation?é9r(r)é„ZWaitForCostingDlgzRPlease wait while the installer finishes determining your disk space requirements.éfr°é(zOPlease wait while the Installer prepares to guide you through the installation.z&Welcome to the [ProductName] InstallerénzPondering...Z
ActionDataé‡r4ZSpawnDialogr´zSelect Python InstallationsZHintz9Select the Python locations where %s should be installed.zNext >z[TARGETDIR]z[SourceDir])Zorderingz
[TARGETDIR%s]z FEATURE_SELECTED AND &Python%s=3ZSpawnWaitDialogr`ZFeaturesZ
SelectionTreer ZFEATUREZPathEditz[FEATURE_SELECTED]Ú1z!FEATURE_SELECTED AND &Python%s<>3ZOtherz$Provide an alternate Python locationZEnableZShowZDisableZHideé×ér‚ZDiskCostDlgZOKz&{\DlgFontBold8}Disk Space RequirementszFThe disk space required for the installation of the selected features.é5aThe highlighted volumes (if any) do not have enough disk space available for the currently selected features.  You can either remove some files from the highlighted volumes, or choose to install less features onto local drive(s), or select different destination drive(s).Z
VolumeListZVolumeCostListédé–iz{120}{70}{70}{70}{70}gà?r²ZAdminInstallzGSelect whether to install [ProductName] for all users of this computer.r©rªézInstall for all usersZJUSTMEézInstall just for mez
[ALLUSERS]zWhichUsers="ALL"r¶z({\DlgFontBold8}[Progress1] [ProductName]é#éAzYPlease wait while the Installer [Progress2] [ProductName]. This may take several minutes.ZStatusLabelzStatus:ZProgressBariz
Progress doneZSetProgressZProgressrµz)Welcome to the [ProductName] Setup WizardZBodyTexté?z:Select whether you want to repair or remove [ProductName].ZRepairRadioGroupélr§r¨r”z&Repair [ProductName]ZRemoverzRe&move [ProductName]z[REINSTALL]zMaintenanceForm_Action="Repair"z[Progress1]Z	Repairingz[Progress2]ZrepairsZ	Reinstallr­z[REMOVE]zMaintenanceForm_Action="Remove"éZRemovingéZremovesé
éz MaintenanceForm_Action<>"Change")rwrrr·r¸rr"r1r3r-ZeventZcontrolrr+ÚmappingrVrnrOr…Z	conditionr8Z
radiogroupÚadd)rrwÚxÚyrrr"ZmodalZmodelessZtrack_disk_spaceZfatalrAZ	user_exitZexit_dialogZinuseÚerrorr3ZcostingZprepZseldlgÚorderrurœZinstall_other_condZdont_install_other_condZcostZ
whichusersÚgZprogressZmaintrrrr|Ÿsvùþ
ýÿ	ùÿ
ÿ
ÿÿÿ
ÿÿÿ
ÿüÿÿÿÿü       ÿÿÿÿÿÿ
ÿ
ÿÿþ
ÿÿÿÿÿÿÿÿ
ÿ
ÿÿÿÿÿÿ
ÿÿzbdist_msi.add_uicCs<|jrd||j|jf}nd||jf}tj |j|¡}|S)Nz%s.%s-py%s.msiz	%s.%s.msi)rJrHrSrTrUrK)rrZ	base_namer€rrrroÝsÿz bdist_msi.get_installer_filenameN)r9r:r;ZdescriptionrZuser_optionsZboolean_optionsrYr…rPr\rmrzryr{r|rorrrrr<Ss^ÿÿéÿ
ý
([66&@r<)rirSZdistutils.corerZdistutils.dir_utilrZdistutils.sysconfigrZdistutils.versionrZdistutils.errorsrZdistutils.utilrZ	distutilsrrvr	r
rrr
rrrr<rrrrÚ<module>	s>
Back to Directory File Manager