%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/__pycache__/php.cpython-37.pyc

B

�2Lb��@s�ddlmZddlZddlmZmZmZddlmZm	Z	ddl
mZddlm
Z
mZddlmZdd	lmZdd
lmZGdd�de�ZdS)
�)�absolute_importN)�List�Dict�Tuple)�MODULES_LOGS_DIR�CL_SELECTOR_BIN�)�WizardInstaller)�InstallationFailedException�PackageMissingError)�ExternalProgramFailed)�check_cagefs_initialized)�Featurec@s�eZdZej�ed�Zej	Z
dd�Zdd�Zdd�Z
dd	�Zed
d��Zedd
��Zedd��Zdd�Zdd�Zdd�Zdd�ZdS)�PhpInstallerzphp.logc	CsJ|j�d|�y|�tdddd|dg�Wntk
rDt��YnXdS)Nz)trying to set default php version as '%s'�setz
--interpreter�phpz--default-versionz--json)�
app_logger�info�_run_commandrrr
)�self�version�r�E/opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/php.py�_set_default_php_versionsz%PhpInstaller._set_default_php_versionc	CsJ|j�d|�y|�tdddd|dg�Wntk
rDt��YnXdS)Nz%trying to set PHP Selector state '%s'rz
--interpreterrz--selector-statusz--json)rrrrrr
)r�statusrrr�_set_cloudlinux_selector_status'sz,PhpInstaller._set_cloudlinux_selector_statuscCsn|j�dd�|��g}x&|D]}d|�dd�}|�|�qWy|j|�Wntk
rht��YnXdS)z�
        Install given php versions via groups
        :param versions: e.g ['4.4', '5.4', '5.6']
        :return: None
        z)php version '%s' is going to be installed�,zalt-php�.�N)rr�join�replace�appendZ_install_yum_groupsrr
)r�versions�groups�vZpackage_namerrr�_install_php_version1s
z!PhpInstaller._install_php_versionc
Cs�|�d�}|�dg�}|�d�}|rD|rD||krD|j�d|�t��|�|�t�r�|rt|jdd�|r�|�|�nFy|jdd�Wn4tk
r�}z|j�dt	|��Wd	d	}~XYnXd	S)
a�
        Run installation of php module
        It is possible to install only alt-php packages and skip further
        installation if 'enable_selector': False
        Otherwise we will configure php selector also
        -- set selector status to enabled
        -- set default version if it was passed
        :param options: {'versions': [5.5, 5.6], 'enable_selector': True}
        :return:
        �default_versionr"�enable_selectorzSVersion %s that specified to be set as default must be included in install_versionsZenabled)rZdisabledz/Error occurred while disabling PHP Selector: %sN)
�getr�errorr
r%r
rr�	Exception�str)r�optionsr&Zinstall_versionsZto_enable_selector�errr�run_installationEs&


zPhpInstaller.run_installationcCs
dddhS)Nr&r"r'r)�clsrrr�supported_optionsjszPhpInstaller.supported_optionscCs<yddlm}Wntk
r,td��YnX|���dS)Nr)�ClSelect�
lvemanager)Zclselect.clselectr1�ImportErrorrZget_version)r1rrr�_php_get_default_versionns
z%PhpInstaller._php_get_default_versioncCs6yddlm}Wntk
r,td��YnX|d�S)Nr)�"interpreter_versions_short_summaryr2r)Zclselect.clselectctlr5r3r)r5rrr�_php_interpreters_listws
z#PhpInstaller._php_interpreters_listcCsdddid�g}|S)zh
        Get list of warnings that should be shown in wizard
        before module installation
        z�Further CloudLinux PHP Selector setup will be available in LVE Manager settings after installation. More details you can find in our documentation %(url)s.Zurlz:https://docs.cloudlinux.com/php_selector_installation.html)�message�contextr)r�warningsrrr�
_get_warnings�s
zPhpInstaller._get_warningscCsVg}x$|��D]}|jsq|�|j�qWt|�|��||�d�|��d�|��d�S)Nr)r&�installed_versionsZavailable_versionsr')Zalready_configuredr,r9)	r6Z	installedr!r�anyr4Z_get_available_versions�_is_php_selector_enabledr:)rr;�itrrr�initial_status�s
zPhpInstaller.initial_statuscCstt�o|���S)zM
        Return True if Php Selector enabled in UI and could be used
        )�boolr
�"_is_php_selector_enabled_in_config)rrrrr=�sz%PhpInstaller._is_php_selector_enabledcCs>|j�d�yddlm}|d���Stk
r8dSXdS)zn
        Return True if Php Selector is enabled for UI in panel specific (DA, Plesk or cPanel) config
        z!trying to get Php Selector state.r)�CloudlinuxSelectorLibrFN)rrZclselector.selectorlibrBZphp_selector_is_enabledr3)rrBrrrrA�sz/PhpInstaller._is_php_selector_enabled_in_configN)�__name__�
__module__�__qualname__�os�pathrrZLOG_FILErZPHP_SELECTORZ_REQUIRED_CL_COMPONENT_SUPPORTrrr%r.�classmethodr0�staticmethodr4r6r:r?r=rArrrrrs

%		r)Z
__future__rrF�typingrrrZclwizard.constantsrr�baser	Zclwizard.exceptionsr
rZclcommon.utilsrZ!clconfig.cagefs_statistics_configr
Zclcommon.constrrrrrr�<module>	s

Zerion Mini Shell 1.0