Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/msilib/__init__.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@s�ddlTddlZddlZddlZddlZdejkZdejkZepaeZdZ	dZ
dZdZd	Z
d
ZdZdZdZd
Ze	e
BeBeBeBeBZdd'd��YZdd(d��YZeed�Zd�Zd�Zd�Zd�Zd�Zd�Zdd)d��YZe�Zdd*d��YZ dd+d��YZ!dd,d ��YZ"d!d-d"��YZ#d#e#fd$��YZ$d%d.d&��YZ%dS(/i�(t*NtAMD64tItaniumi�iiiiiiii tTablecBs,eZd�Zd�Zd�Zd�ZRS(cCs||_g|_dS(N(tnametfields(tselfR((s%/sys/lib/python2.7/msilib/__init__.pyt__init__s	cCs|jj|||f�dS(N(Rtappend(RtindexRttype((s%/sys/lib/python2.7/msilib/__init__.pyt	add_field!scCs�g}g}|jj�dgt|j�}x~|jD]s\}}}|d8}|t@}|r{d|j||fGHn|t@}|t@}|tkr�|r�d|}	qGd}	n�|t	kr�|dks�t
�d}	ni|tkr|dks��d}	nB|tkr,|d	ks#t
�d
}	nd}	d|j||fGH|t
@rZd
}
nd}
|t@rw|
d7}
nd||	|
f||<|t@r9|jd|�q9q9Wdj|�}dj|�}d|j||fS(Nis%s.%s unknown bits %xsCHAR(%d)tCHARitSHORTitLONGitOBJECTtunknowns%s.%sunknown integer type %dts	 NOT NULLs LOCALIZABLEs	`%s` %s%ss`%s`s, s#CREATE TABLE %s (%s PRIMARY KEY %s)(RtsorttNonetlent	knownbitsRtdatasizemaskttypemaskttype_stringt
type_shorttAssertionErrort	type_longttype_binaryt
type_nullablettype_localizablettype_keyRtjoin(RRtkeysR	RR
tunktsizetdtypettnametflags((s%/sys/lib/python2.7/msilib/__init__.pytsql$sJ




				
	


cCs0|j|j��}|jd�|j�dS(N(tOpenViewR'tExecuteRtClose(Rtdbtv((s%/sys/lib/python2.7/msilib/__init__.pytcreateNs
(t__name__t
__module__RRR'R-(((s%/sys/lib/python2.7/msilib/__init__.pyRs			*t_UnspecifiedcBseZRS((R.R/(((s%/sys/lib/python2.7/msilib/__init__.pyR0SscCs�xtt|��D]k}||d|kr|tkrJ||d}n|tkrg||d}n|||f||<dSqWtd�dS(s:Change the sequence number of an action in a sequence listiiiNsAction not found in sequence(trangeRR0t
ValueError(tseqtactiontseqnotcondti((s%/sys/lib/python2.7/msilib/__init__.pytchange_sequenceTsc
Cs�|jd|�}|jt�j�}t|�}x<|D]4}t|�|ks_t|��x�t|�D]�}||}t|t	t
f�r�|j|d|�qlt|t�r�|j
|d|�ql|dkr�qlt|t�r|j|d|j�qltd|jj�qlWy|jt|�Wn1tk
rd}	tdt|�d|��nX|j�q;W|j�dS(NsSELECT * FROM `%s`isUnsupported type %ssCould not insert s into (R(t
GetColumnInfotMSICOLINFO_NAMESt
GetFieldCounttCreateRecordRRR1t
isinstancetinttlongt
SetIntegert
basestringt	SetStringRtBinaryt	SetStreamRt	TypeErrort	__class__R.tModifytMSIMODIFY_INSERTt	ExceptiontMSIErrortreprt	ClearDataR*(
R+ttabletvaluesR,tcounttrtvalueR7tfieldte((s%/sys/lib/python2.7/msilib/__init__.pytadd_data`s,

"cCsJ|jd|�}td�}|jd|�|j|�|j�dS(Ns2INSERT INTO _Streams (Name, Data) VALUES ('%s', ?)i(R(R<RDR)R*(R+RtpathR,RP((s%/sys/lib/python2.7/msilib/__init__.pyt
add_stream{s

c		Cs�ytj|�Wntk
r$nX|j�}t|t�}x|jD]}|j|�qJWt|d|j	�|j
d�}|jtd�|jt
|�|jt|�tr�|jtd�n)tr�jtd�n|jtd�|jtt��|jtd�|jtd�|jtd	�|j�t|d
d|fd|fd
|fd|fdg�|j�|S(Nt_ValidationisInstallation DatabasesIntel64;1033sx64;1033s
Intel;1033ii�sPython MSI LibrarytPropertytProductNametProductCodetProductVersiontManufacturertProductLanguaget1033(R]R^(tostunlinktOSErrortuppertOpenDatabasetMSIDBOPEN_CREATEttablesR-RTt_Validation_recordstGetSummaryInformationtSetPropertyt	PID_TITLEtPID_SUBJECTt
PID_AUTHORRtPID_TEMPLATERt
PID_REVNUMBERtgen_uuidt
PID_WORDCOUNTt
PID_PAGECOUNTtPID_APPNAMEtPersisttCommit(	RtschemaRYRZR[R\R+tttsi((s%/sys/lib/python2.7/msilib/__init__.pyt
init_database�s>

					

cCs1x*|jD]}t||t||��q
WdS(N(ReRTtgetattr(R+tmoduleRM((s%/sys/lib/python2.7/msilib/__init__.pyt
add_tables�scCs�tjtjd}djg|D]}||kr9|nd^q!�}|dtjdkrld|}ntjd|�s�td|��|S(Ns._Rt_it.s^[A-Za-z_][A-Za-z0-9_.]*$tFILE(tstringt
ascii_letterstdigitsR tretmatchR(tstrtidentifier_charstc((s%/sys/lib/python2.7/msilib/__init__.pytmake_id�s4
"cCsdt�j�dS(Nt{t}(t
UuidCreateRb(((s%/sys/lib/python2.7/msilib/__init__.pyRn�stCABcBs,eZd�Zd�Zd�Zd�ZRS(cCs+||_g|_t�|_d|_dS(Ni(Rtfilestsett	filenamesR	(RR((s%/sys/lib/python2.7/msilib/__init__.pyR�s		cCsZt|�}}d}x-||jkrEd||f}|d7}qW|jj|�|S(Nis%s.%d(R�R�tadd(Rtfiletlogicalt_logicaltpos((s%/sys/lib/python2.7/msilib/__init__.pytgen_id�scCs`tjj|�rdS|s.|j|�}n|jd7_|jj||f�|j|fS(Ni(R_RUtisdirR�R	R�R(RtfullR�R�((s%/sys/lib/python2.7/msilib/__init__.pyR�sc	Cs�ddlm}|�}t||j�t|dd|jdd|jddfg�t||j|�t	j
|�|j�dS(Ni�(tmktemptMediait#(ttempfileR�t	FCICreateR�RTR	RRRVR_R`Rs(RR+R�tfilename((s%/sys/lib/python2.7/msilib/__init__.pytcommit�s		&
(R.R/RR�RR�(((s%/sys/lib/python2.7/msilib/__init__.pyR��s					t	DirectorycBs\eZdd�Zdddddd�Zd�Zdddd�Zdd�Zd�ZRS(cCsd}t|�}|}	x*|	tkrDd||f}	|d7}qWtj|	�||_||_||_||_|	|_d|_	t
�|_t
�|_i|_
||_|r�tjj|j|�|_|j}
n||_d}
t|d|	|
|fg�dS(szCreate a new directory in the Directory table. There is a current component
        at each point in time for the directory, which is either explicitly created
        through start_component, or implicitly when files are added for the first
        time. Files are added into the current component, and into the cab file.
        To create a directory, a base directory object needs to be specified (can be
        None), the path to the physical directory, and a logical directory name.
        Default specifies the DefaultDir slot in the directory table. componentflags
        specifies the default flags that new components get.is%s%dR�N(R�t_directoriesR�R+tcabtbasedirtphysicalR�Rt	componentR�tshort_namestidstkeyfilestcomponentflagsR_RUR tabsoluteRT(RR+R�R�R�R�tdefaultR�R	R�tblogical((s%/sys/lib/python2.7/msilib/__init__.pyR�s.	
									c	Cs|dkr|j}n|dkr0t�}n|j�}|dkrT|j}n||_trp|dO}n|r�|jj|j	|�}||j
|<nd}t|jd|||j|d|fg�|dkr�
}nt|jd|j|fg�dS(stAdd an entry to the Component table, and make this component the current for this
        directory. If no component name is given, the directory name is used. If no feature
        is given, the current feature is used. If no flags are given, the directory's default
        flags are used. If no keyfile is given, the KeyPath is left null in the Component
        table.it	ComponenttFeatureComponentsN(RR�RnRbR�R�tWin64R�R�R�R�RTR+tcurrent_featuretid(RR�tfeatureR&tkeyfiletuuidtkeyid((s%/sys/lib/python2.7/msilib/__init__.pytstart_components(	
	cCs�|}|jdd�}djd�|D��}|jd�}t|�dkr�dj|d �j�}|dj�}|s�|}d}q�n|j�}d}t|�dkrt|�d	kr||kr|s�|�dkr|r|d|}q|}nd}|dks/||jkr�|d
 }|rL|d }nd}xz|rqd|||f}nd||f}||jkr�Pn|d7}|d
ks�t�|dkrU|d }qUqUn|jj|�t	j
d|�s��|S(Nt+R{Rcss!|]}|dkr|VqdS(s
 "/\[]:;=,N((t.0R�((s%/sys/lib/python2.7/msilib/__init__.pys	<genexpr>!sR|ii�iiis%s~%d.%ss%s~%di'i
idi�s[\?|><:/*"+,;=\[\]](i
idi�(treplaceR tsplitRRbRR�RR�R�tsearch(RR�toldfiletpartstprefixtsuffixR�((s%/sys/lib/python2.7/msilib/__init__.pyt
make_shortsH0	


cCs�|js"|j|jtd�n|sC|}tjj|�}ntjj|j|�}t	j
d|�stt�||jkr�|j|}nd
}|jj|||�\}}||jks�t�|jj|�|j|�}d||f}	tj|�j}
d}t|jd||j|	|
||||fg�|jd�r�t|jd|d|jd	||f|jd
f|d|jd||f|jd
fg�n|S(s�Add a file to the current component of the directory, starting a new one
        if there is no current component. By default, the file name in the source
        and the file table will be identical. If the src file is specified, it is
        interpreted relative to the current directory. Optionally, a version and a
        language can be specified for the entry in the File table.is[\?|><:/*]"s%s|%sitFiles.pyt
RemoveFileR�s%sC|%scitos%sO|%soN(R�R�R�R�R_RUtbasenameR R�R�R�RR�RR�RR�R�R�tstattst_sizeRTR+tendswith(RR�tsrctversiontlanguageR�R�tsequencetshortR�tfilesizet
attributes((s%/sys/lib/python2.7/msilib/__init__.pytadd_fileGs6	cCsOtj|j|�}x3|D]+}|r:||kr:qn|j|�qW|S(s�Add a list of files to the current component as specified in the
        glob pattern. Individual files can be excluded in the exclude list.(tglobtglob1R�R�(RtpatterntexcludeR�tf((s%/sys/lib/python2.7/msilib/__init__.pyR�xs
c	CsUt|jd|jd|jd|jdf|jd|jd|jdfg�dS(s#Remove .pyc/.pyo files on uninstallR�R�s*.pyciR�s*.pyoN(RTR+R�R�(R((s%/sys/lib/python2.7/msilib/__init__.pyt
remove_pyc�sN(	R.R/RRR�R�R�R�R�(((s%/sys/lib/python2.7/msilib/__init__.pyR��s"	)1	RCcBseZd�Zd�ZRS(cCs
||_dS(N(R(Rtfname((s%/sys/lib/python2.7/msilib/__init__.pyR�scCsd|jS(Ns)msilib.Binary(os.path.join(dirname,"%s"))(R(R((s%/sys/lib/python2.7/msilib/__init__.pyt__repr__�s(R.R/RR�(((s%/sys/lib/python2.7/msilib/__init__.pyRC�s	tFeaturecBs&eZddddd�Zd�ZRS(iic

CsJ||_|r|j}nt|d||||||||	fg�dS(NR�(R�RT(
RR+R�ttitletdesctdisplaytleveltparentt	directoryR�((s%/sys/lib/python2.7/msilib/__init__.pyR�s		cCs
|adS(N(R�(R((s%/sys/lib/python2.7/msilib/__init__.pytset_current�sN(R.R/RRR�(((s%/sys/lib/python2.7/msilib/__init__.pyR��stControlcBs2eZd�Zddd�Zd�Zd�ZRS(cCs||_||_dS(N(tdlgR(RR�R((s%/sys/lib/python2.7/msilib/__init__.pyR�s	t1c	Cs8t|jjd|jj|j||||fg�dS(NtControlEvent(RTR�R+R(Rteventtargumentt	conditiontordering((s%/sys/lib/python2.7/msilib/__init__.pyR��scCs2t|jjd|jj|j||fg�dS(NtEventMapping(RTR�R+R(RR�t	attribute((s%/sys/lib/python2.7/msilib/__init__.pytmapping�scCs2t|jjd|jj|j||fg�dS(NtControlCondition(RTR�R+R(RR4R�((s%/sys/lib/python2.7/msilib/__init__.pyR��sN(R.R/RRR�R�R�(((s%/sys/lib/python2.7/msilib/__init__.pyR��s		tRadioButtonGroupcBseZd�Zdd�ZRS(cCs(||_||_||_d|_dS(Ni(R�RtpropertyR	(RR�RR�((s%/sys/lib/python2.7/msilib/__init__.pyR�s			cCsb|dkr|}nt|jjd|j|j||||||df	g�|jd7_dS(NtRadioButtoni(RRTR�R+R�R	(RRtxtytwthttextRQ((s%/sys/lib/python2.7/msilib/__init__.pyR��s	N(R.R/RRR�(((s%/sys/lib/python2.7/msilib/__init__.pyR��s	tDialogcBsPeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(c
Csq||_||_||||f\|_|_|_|_t|d||||||||	|
|f
g�dS(NR�(R+RR�R�R�R�RT(RR+RR�R�R�R�tattrR�tfirstR�tcancel((s%/sys/lib/python2.7/msilib/__init__.pyR�s		*cCsJt|jd|j|||||||||	|
|fg�t||�S(NR�(RTR+RR�(RRR
R�R�R�R�R�tpropR�tnextthelp((s%/sys/lib/python2.7/msilib/__init__.pytcontrol�s1cCs+|j|d|||||d|dd�S(NtText(R�R(RRR�R�R�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pyR��scCs+|j|d||||dd|dd�S(NtBitmapi(R�R(RRR�R�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pytbitmap�scCs+|j|d||||ddddd�S(NtLinei(R�R(RRR�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pytline�sc		Cs+|j|d|||||d||d�S(Nt
PushButton(R�R(	RRR�R�R�R�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pyt
pushbutton�sc

CsMt|jd|j|d||||||||	dfg�t|||�S(NR�R�(RTR+RRR�(
RRR�R�R�R�R�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pyt
radiogroup�s%c

Cs+|j|d||||||||	d�S(NtCheckBox(R�R(
RRR�R�R�R�R�R�R�R�((s%/sys/lib/python2.7/msilib/__init__.pytcheckbox�s(
R.R/RR�R�R�R�R�RR(((s%/sys/lib/python2.7/msilib/__init__.pyR��s							(((((((((&t_msiR_R~R�tsysR�RRR�Rt
type_validRRRRRRRRRRR0R8RTRVRwRzR�RnR�R�R�R�RCR�R�R�R�(((s%/sys/lib/python2.7/msilib/__init__.pyt<module>s@
07			)			#	�


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.