g?ddlZddlmZddlmZmZmZddlmZddl m Z m Z ddl m Z mZddlmZdd lmZGd d eZdS) N)Feature)ExternalProgramFailedget_passenger_package_nameis_litespeed_running) get_ui_config)CL_SELECTOR_BINMODULES_LOGS_DIR)InstallationFailedExceptionPackageMissingError)installed_interpreters_list)WizardInstallerceZdZejedZej Z dZ dZ e dZdZdZdZdZed Zd S) PythonInstallerz python.logc$g}|D]0}d|ddz}||1|jdd| |j|dS#t $r}t|d}~wwxYw)zd Install given python versions :param versions: versions of python packages z alt-python.z/Try to install Python package with versions: %s,N)replaceappend app_loggerinfojoin_install_groupsrr )selfversionsgroupsv package_namees py/clwizard/modules/python.py_install_python_versionsz(PythonInstaller._install_python_versionss  ( (A'!))C*<*< AAAcl ddlm}n"#t$r}td|d}~wwxYw|dS)Nr)get_default_version lvemanagerpython)clselect.clselectctlr, ImportErrorr )r,r s r!_get_python_default_versionz+PythonInstaller._get_python_default_version9s\ ; @ @ @ @ @ @ @ ; ; ;%l33 : ;""8,,,s (#(c |jd| |tdddd|dgdS#t$r}t |d}~wwxYw)Nz,trying to set default python version as '%s'setz --interpreterr.z--default-version--json)rrr(rrr )rversionr s r!_set_python_default_versionz+PythonInstaller._set_python_default_versionBs KWUUU 7   ##'     % 7 7 7-//Q 6 7s!A A AAc|toDt p5tdid S)a Check that python selector is ready to work All configurations were done: - passenger package is installed We always have python27 installed, so we do not need to check if at least one interpreter is installed If the config file does not exist, we ignore the uiSettings :return: already_configured status :rtype: bool uiSettings hidePythonApp)_is_package_installedrrget)rs r!_is_already_configuredz&PythonInstaller._is_already_configuredTs[))*D*F*FGG   a}':':<'L'L'P'PQ`'a'a#a cg}td}|D]#}|jr||j$|||d|ddS)Nr.)installed_versionsavailable_versionsdefault_version)already_configuredoptions)r installedrr5r<_get_available_versionsr1)rinstalled_python_versionsinterpreters_list interpreters r!initial_statuszPythonInstaller.initial_statuscs$&!7AA, F FK$ F)001DEEE"&"="="?"?&?&*&B&B8&L&L#'#C#C#E#E   r=c|dg}|d}|r-||vr)|jd|t|||t r| |gdn!#t$r}t|d}~wwxYw|r| |dSdS)NrrAzSVersion %s that specified to be set as default must be included in install_versions)zcloudlinux-configr3r4z<--data={"options": {"uiSettings": {"hidePythonApp": false}}}) r;rerrorr _install_passengerr"rr*r(rr6)rrCinstall_versionsrAr s r!run_installationz PythonInstaller.run_installationrs@";;z266!++&788  06FFF O ! !7    .// / !!! %%&6777  ! ! 3  0 0 2 2 2 7       % 7 7 7-//Q 6 7  >  , ,_ = = = = = > >s'B?? C CCc ddhS)NrrA)clss r!supported_optionsz!PythonInstaller.supported_optionss-..r=N)__name__ __module__ __qualname__r%r&rr LOG_FILErPYTHON_SELECTOR_REQUIRED_CL_COMPONENT_SUPPORTr"r* staticmethodr1r6r<rIrN classmethodrRrPr=r!rrsw||,l;;H%,%<" 7 7 7777$--\-777$        >>>B//[///r=r)r%clcommon.constrclcommon.utilsrrrclconfig.ui_config_librclwizard.constantsrr clwizard.exceptionsr r clwizard.utilsr baserrrPr=r!rbs """"""bbbbbbbbbb000000@@@@@@@@PPPPPPPP666666!!!!!!A/A/A/A/A/oA/A/A/A/A/r=