%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/clselectstatistics.pyc

�
i�B^c@`sTddlmZddlmZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZm
Z
ddlmZmZmZd	d
lmZd	dlmZd	dlmZmZdd
lmZmZd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(dS(i(tprint_function(tdivision(tabsolute_import(tdefaultdict(t	iteritems(tget_suEXEC_statustget_suPHP_status(tCageFstCageFsException(tget_domains_php_infotget_system_php_infot	getCPNamei(tClUserSelect(tClSelect(t"interpreter_versions_short_summarytserver_applications_summary(tOptionaltDictcC`s
t|�S(sd
    Return list of InterpreterSummary objects
    :rtype: list[clselectctl.InterpreterSummary]
    (R(tinterpreter((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt_iter_versionsscC`s
t|�S(sd
    Return list of ApplicationSummary objects
    :rtype: list[clselectctl.ApplicationSummary]
    (R(R((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytiter_server_applications#scC`s*t|�}|dk	r&d�|D�SdS(NcS`s:i|]0}i|jd6|jd6|jd6|j�qS(tfull_versiontenabledt	installed(tversion_fullRRtversion(t.0tit((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pys
<dictcomp>0s	(RtNone(Rtinterpreters_versions((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytget_versions_statistics+scC`s7|ddhkp6|ddhkr-t�p6|dkS(st
    Handler is supported in the following cases:
    - handler is suphp or lsapi with suexec or suphp (check for last two is
      in the _get_php_selector_usage method)
    - handler is cgi or fcgi (only with suexec, otherwise scripts do not run in cagefs)
    - handler is None (possible when php package was removed and we can`t detect handler, it is set to None)
    tsuphptlsapitcgitfcgiN(RR(thandler((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt!_is_acceptable_php_handler_cpanel8scC`s�t�}t�d}tt�}xXt|�D]J\}}|d|krQq/nt|d�r/||dj|�q/q/Wt|�S(s�
    Return domains that are using php selector.

    1. Skip domains whose version is not system default (php selector
       replaces only system default version binary with symlink to alt-php)
    2. Take only domains that use supported handlers.
    tdefault_version_idtphp_version_idthandler_typetusername(R	R
RtsetRR$taddtdict(tvhosts_php_infotdefault_php_idtphpselector_domainstdomaintdomain_info((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt$_get_php_selector_domains_for_cpanelDs	
cC`s�d}d�}t�}tt�}xRt|�D]D\}}|d|kr1||d�r1||dj|�q1q1Wt|�S(s�
    Return domains that meet panel specific requirements which will allow php
    selector to work when the common requirements are met.
    R!tfastcgicS`s d}d|kr||kStS(Nsx-httpd-lsphp-customtlsphp(tTrue(t
handler_idtlsphp_vendor_version((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytis_allowed_version`s
R'R&R((R!R2(R	RR)RR*R+(tallowed_handlersR7tdomains_php_infotresultR/tinfo((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt#_get_php_selector_domains_for_pleskXs		cC`sjd}t�}tt�}xBt|�D]4\}}|d|kr(||dj|�q(q(Wt|�S(s�
    Return domains that meet panel specific requirements which will allow php
    selector to work when the common requirements are met.
    R2RR!R3R'R((R2RR!R3(R	RR)RR*R+(R8R9R:R/tphp_info((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt _get_php_selector_domains_for_daps	cC`sJt�}|dkrt�S|dkr/t�S|dkrBt�SdSdS(s�
    Detect current control panel and
    get list of php selector domains for it
    Return None if control panel is not supported
    tcPaneltDirectAdmintPleskN(RR1R>R<R(tpanel((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt!_get_php_vhosts_for_current_panel~s	cC`st�}|j�sdSy|j�Wntk
r;dSXtt�t�f�sXdSt�}|dkrqdSt	�}t
t�}t
t�}xjt|�D]\\}}|j
|�s�q�n|j|dt�d}||j|�||j|�q�Wi|d6|d6S(s+Get users and domains that use php selectortshow_native_versionitdomains_by_php_versiontusers_by_php_versionN(Rtis_cagefs_presentRt
_load_infoRtanyRRRCRRR)Rtget_user_statustget_versiontFalsetupdateR*(tcagefst
php_vhoststphpRERFtusertuser_domainsR((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytget_php_selector_usage�s0	
		cC`s3t�}|jdt�}|dkr+|S|dS(s7
    Safely get native version, or None if not set
    tverboseiN(tClSelectPhptget_native_versionRLR(RPtv((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytget_native_version_safe�s
	cC`st�j�rdSdS(s=
    Get state of PHP selector: without CageFS or normal
    twithout_cagefstnormal(RUtwork_without_cagefs(((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytget_mode_of_php_selector�scC`st�j�dS(s-
    Get default version of PHP selector
    i(RURK(((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pytget_default_php_version�sN()t
__future__RRRtcollectionsRtfuture.utilsRtcldetectlibRRtcllimitsRRtclcommon.cpapiR	R
RtcluserselectRtclselectR
RUtclselectctlRRttypingRRRRRR$R1R<R>RCRSRXR\R](((sL/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectstatistics.pyt<module>
s.			
						&			

Zerion Mini Shell 1.0