File: //opt/alt/python37/lib/python3.7/site-packages/clwizard/modules/__pycache__/cagefs.cpython-37.pyc
B
������|�� @ s� d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl m
Z
mZ d dlm
Z
d dlmZ d d
lmZ G dd� de�ZdS )
� )�absolute_importN)�Feature)�ExternalProgramFailed)�check_cagefs_initialized)�CageFs�CageFsException)�MODULES_LOGS_DIR)�InstallationFailedException� )�WizardInstallerc st e Zd Zej�ed�Zej Z
� fdd�Zdd� Zdd� Z
dd � Zd
d� Zdd
� Zdd� Zedd� �Zdd� Z� ZS )�CagefsInstallerz
cagefs.logc s t t| ��� t| jd�| _d S )N)Zlogger)�superr �__init__r �
app_logger�cgfs)�self)� __class__� �py/clwizard/modules/cagefs.pyr s zCagefsInstaller.__init__c C s8 | j �� }| j �� }| j�d|� |dkr4| j �� dS )z`
Enable all users statuses and after it toggle to initial mode
:return:
z.Cagefs users status was updated to enabled: %szDisable AllN)r �
get_user_modeZset_enabled_moder �info�toggle_user_mode)r Zinitial_mode�outr r r �_enable_existing_users s
z&CagefsInstaller._enable_existing_usersc C sF | j �� }| j�d|� |dkrB| j�d� | j �� | j�d� d S )NzCurrent mode is: %szDisable AllzTry to set mode to Enable allzMode was toggled to Enable all)r r r r r )r �moder r r �_set_enabled_mode* s
z!CagefsInstaller._set_enabled_modec
C sV | � d�sFy| �d� W qR tk
rB } zt� |�W d d }~X Y qRX n| j�d� d S )NZcagefsz2Skip package installation, it is already installed)Z_is_package_installedZ_install_packager r r r )r �errr r r �_install_cagefs_package2 s
z'CagefsInstaller._install_cagefs_packagec
C sr t � sby| j�� }| j�d|� W qn tk
r^ } z| j�dt|�� t� |�W d d }~X Y qnX n| j�d� d S )NzCagefs was initialized: %sz+Cagefs initialization failed with error: %sz8Initializing was skipped, cagefs was already initialized) r r Zinitialize_cagefsr r r �error�strr )r r r r r r �_initialize_cagefs; s
z"CagefsInstaller._initialize_cagefsc
C sL y| j �� }| j�d|� W n* tk
rF } zt� |�W d d }~X Y nX d S )Nz/Cagefs was enabled, ready for configuration
%s)r Z
enable_cagefsr r r r )r r r r r r �_enable_cagefsF s
zCagefsInstaller._enable_cagefsc
C s~ | � � | �� | �� y$|d r*| �� |d r:| �� W n< tk
rx } z| j�dt|�� t � |�W d d }~X Y nX d S )N�enable_for_existing_users�enable_for_new_userszCan`t configure options: %s)
r r r! r r r r r r r )r �optionsr r r r �run_installationM s z CagefsInstaller.run_installationc C s ddhS )Nr"