%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/clselect/
Upload File :
Create Path :
Current File : //proc/227033/root/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyc

�
i�B^c@`s�ddlmZddlmZddlmZddlZddlmZddlmZddl	m
Z
dd	lmZd
eefd��YZ
dS(i(tabsolute_import(tprint_function(tdivisionNi(tClExtSelect(tClUserSelect(tClSelectExcept(tclprinttClUserExtSelectcB`s�eZdZddd�Zdd�Zdd�Zd�Zd�Zd�Z	e
d�Zd	�Zd
�Z
d�Zd�Zd
�Zee�Zd�Zee�Zd�Zd�ZRS(salt_php.initphpcC`s2tj|||�d|_g|_g|_dS(N(Rt__init__tNonet_alt_extensionst_user_extensionst
_conflicts(tselftitemtexclude_pid_list((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR	s		cC`su|j|�|dkr/|j|�d}n|dkrMtj|��nttd�t|j||����S(s�
        Returns enabled user extensions for a version as a tuple
        @param user: string
        @param version: string
        @return: tuple
        itnativecS`s
|tfS(N(tTrue(ti((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt<lambda>(tN(	t_check_user_in_cagefsR
tget_versionRtUnableToGetExtensionsttupletmaptsortedt_get_enabled_extensions(Rtusertversion((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytlist_enabled_extensionss
cC`s�|j|�|dkr/|j|�d}n|dkrMtj|��n|j||�}|j|�}g}xBt|�D]4}t}||kr�t	}n|j
||f�q�Wt|�S(s�
        Returns as a tuple all user extensions for a version,
        marking enabled and disabled ones
        @param user: string
        @param version: string
        @return: tuple
        iRN(RR
RRRRt_get_all_extensionsRtFalseRtappendR(RRRtuser_extensionstall_extensionst
extensionstexttenabled((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytlist_all_extensions+s
	cC`s/t|j�dkr(|j||�n|jS(s�
        Returns list of enabled user extensions
        @param user: string
        @param version: string
        @return: list
        i(tlenRt_load_user_extensions(RRR((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyRBscC`s+|jdkr$|j|�|_n|jS(s�
        Returns list of all extensions for a version
        @param user: string
        @param version: string
        @return: list
        N(RR
t_load_extensions_list(RR((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR MscC`sO|j|�}t|�jt|��}|rKtjd|d|��ndS(si
        validation extensions name
        @param ext_list: list
        @param version: string
        text_listR$N(R tsett
differenceRtNoSuchExtension(RR,RR$tbad_extensions((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt_check_extensionsXsc`s�|j|�|r,|jd|d|�n|j||�}|j|�}|j|�\}}}	t|	j��|}
|j|
�}tj	|
|�}|j
|�g||D]}
|
|kr�|
^q�}g�xm|D]e}
tt�fd�|j|
g||	���}tj
|
||�}|j|��j|�q�Wx(�D] }
|j|j|	|
��qOW|j|�}|j|dj|�d|�|j|�|j|�dS(s�
        Adds extensions to user php.ini
        @param user: string
        @param version: string
        @param ext_list: list
        @param check_ext: bool
        @return: None
        R,Rc`s
|�kS(N((R(tresolved_dependencies(sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyRyRs
N(RR1t_compose_user_ini_patht_compose_alt_patht_load_ini_contentstlisttkeyst_check_for_conflictsRtget_conflicts_infot_print_conflicts_infotfiltert_include_dependenciestget_dependencies_listt_print_dependencies_infotextendt_smooth_datat_move_ioncube_extt_write_to_filetjoint_backup_settingst_reload_processes(RRRR,t	check_extt
user_ini_pathtalt_pathtcontentsR%textensions_datatresulting_extensionstext_datat_conflicts_infoR&tresolvedtdependence_info((R2sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytenable_extensionscs6	

)



cC`s<|j|||�\}}}|j|�|j|�|S(s
        (deprecated)
        Replaces extensions in user php.ini with supplied ones
        and print information about dependences and conflicts for old php selector
        @param user: string
        @param version: string
        @param ext_list: list
        @return: list
        (t#replace_extensions_with_dependensesR>R:(RRRR,textensions_listtdependencies_listtconflict_dependencies((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytreplace_extensions�s

c`s�|j|�g�g}g}|j||�}|j|�}|j|�\}}	}
i}
|j|�}tj||�}g|D]}||kr�|^q�}	xd|	D]\}tt�fd�|j	|g||
���}
||j
||
|�}�j|
�q�Wx(�D] }|j|j|
|��qW|j
|�}|j|dj|�d|�|j|�|j|�t|
j��||fS(s
        Replaces extensions in user php.ini with supplied ones
        @param user: string
        @param version: string
        @param ext_list: list
        @return: extensions_list, dependencies_list, conflict_dependencieslist: (list, list, list)
        c`s
|�kS(N((R(R2(sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR�Rs
(RR3R4R5R8RR9R6R;R<R=R?R@RARBRCRDRER7(RRRR,RTRSRGRHRIR%RJRLR&RN((R2sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyRQ�s4
%



cC`sn|j|�|j||�}|j|�}|j|�\}}}x�t|�D]�}	|	|krkqSnt|j��j|	g�}
|j|	|
|�r�|
jt|��r�t	j
didd6d|	fd6�qSn|j|	d�qSWx:|D]2}||krq�n|j
|j||��q�W|j|dj|�d|�|j|�|j|�dS(s�
        Removes extensions from user php.ini
        @param user: string
        @param version: string
        @param ext_list: list
        @return: None
        ttexttWARNtstatuss%s left as dependencytmessages
N(RR3R4R5R-R7R.t_is_dependencytissubsetRt
print_diagtpopR
R?R@RBRCRDRE(RRRR,RGRHRIR%RJRtrest_of_setR&((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytdisable_extensions�s4



cC`s=|stjd��ntj||�}|j|||�S(s�
        Replaces extensions in user php.ini with default ones
        @param user: string
        @param version: string
        @return: list
        tVersion(Rt
EmptyParamRRRU(RRRR,((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pytreset_extensions�scC`s�t}g}g}xt|D]l}|jd�rGt}|j|�qn|rx|jd�ret}qx|j|�qn|j|�qW|j|�|S(s�
        PHP ioncube extensions must be at the beginning of extensions list
        @param contents: list
        @return: list
        s;---ioncubes;---(R!t
startswithRR"R?(RItfoundtfixed_contentststripped_contentsR((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyRA�s 

	

c
C`s�g}g}i}t}t}yjt|d�}xJ|D]B}|j�}|jd�rnt}|j|�q7|jd�r�|jd�}|dkr�q7n|}	t}|	|kry|g||	<qyq7|r|jd�r�|jd�r�q7n|j|�|jd�ryt}qyq7|r7|jd�s7|dkrCq7n|	|krp|j|	�||	j|�nt}q7q7W|j�Wntt	fk
r�nX|||fS(sb
        Parses user ini file contents
        @param path: string
        @return: tuple
        trs;>===s;---s;- Rt;s;<===(
R!topentrstripRcRR"tstriptclosetOSErrortIOError(
tpathRIR%RJt
is_contenttis_extensiontinitlinettmp_ext_nametext_name((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR5sJ



cC`s5|j||�}|j|�}|jj|�dS(s�
        Loads user alternative extensions list for a version
        @param user: string
        @param version: string
        N(R3t_skim_over_extensionsRR?(RRRRGR%((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR*@scC`s�|jrA|jj|�}d|jdd�}|d|dSt|jj|��}tjj|j	|d|dd|j
fd	|j
|jdd�f|j�S(
s�
        Composes user ini file path
        @param user: string
        @param version: string
        @return: string
        sphp%st.Rs/.cl.selector/alt_s.inii����tetcscl.%s.dsalt-%s%s(twithout_cagefst_clpwdtget_homedirtreplacetstrtget_uidtosRoRCtCAGEFS_PATHt_itemtUSER_INI(RRRthomedirtphp_dirtuid((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyR3Js		
N(t__name__t
__module__R�R
R	RR(RR R1R!RPRURQR_RbRAtstaticmethodR5R*R3(((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyRs$			%		$	$			8	
(t
__future__RRRRtclextselectRtcluserselectRtclselectexceptRt
clselectprintRR(((sI/opt/alt/python27/lib/python2.7/site-packages/clselect/cluserextselect.pyt<module>s

Zerion Mini Shell 1.0