%PDF- %PDF-
| Direktori : /opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/__pycache__/ |
| Current File : //opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/__pycache__/ruby.cpython-37.pyc |
B
�2Lb� � @ s� d dl mZ d dlZddlmZ d dlmZ d dlmZ d dl m
Z
mZmZ d dl
mZ d d lmZ d d
lmZ G dd� de�ZdS )
� )�absolute_importN� )�WizardInstaller)�InstallationFailedException)�MODULES_LOGS_DIR)�ExternalProgramFailed�is_litespeed_running�get_passenger_package_name)�installed_interpreters_list)�
get_ui_config)�Featurec sd e Zd Zej�ed�Zej Z
� fdd�Zdd� Zdd� Z
dd � Zd
d� Zdd
� Zedd� �Z� ZS )�
RubyInstallerzruby.logc s t t| ��� d S )N)�superr
�__init__)�self)� __class__� �F/opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/ruby.pyr s zRubyInstaller.__init__c C sn g }x&|D ]}d|� dd� }|�|� q
W | j�dd�|�� y| j|� W n tk
rh t� �Y nX d S )Nzalt-ruby�.� z-Try to install Ruby package with versions: %s�,)�replace�appendZ
app_logger�info�joinZ_install_yum_groupsr r )r �versions�groups�vZpackage_namer r r �_install_ruby_versions s
z$RubyInstaller._install_ruby_versionsc C sF d}t j�|�sdS y| �d|g� W n tk
r@ t� �Y nX dS )a
In order to make ruby apps work on Litespeed server
we need to do run extra script
see docs for details:
https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:cloudlinux:enable_passenger
:return:
z9/usr/local/lsws/admin/misc/enable_ruby_python_selector.shNZsh)�os�path�isfile�_run_commandr r )r Zlitespeed_scriptr r r �_configure_for_litespeed_server* s z-RubyInstaller._configure_for_litespeed_serverc C s* | � t� �o(t� p(t� �di ��d� S )a�
Check that ruby selector is ready to work
All configurations were done:
- passenger is installed
We always have at least one ruby package installed,
because it is dependency of passenger package, so we can skip such check
If the config file does not exist, we ignore the uiSettings
:return: already_configured status
:rtype: bool
Z
uiSettingsZhideRubyApp)Z_is_package_installedr r �get)r r r r �_is_already_configured<