Edit File: base.cpython-37.opt-1.pyc
B 5/9e� � @ s� d dl mZ d dlZd dlmZ d dlmZmZmZ d dl m Z d dlmZ d dl mZ d dlmZmZmZmZmZmZmZ d d lmZmZ d d lmZ G dd� de�ZdS ) � )�absolute_importN)�abstractmethod)�List�Dict�Optional)�cpapi)� is_ubuntu)�GroupInfoReader)�run_command�ExternalProgramFailed�is_package_installed�get_package_db_errors�get_passenger_package_name�is_ea4�get_cl_version)�convert_package_version�setup_logger)�InstallationFailedExceptionc @ s� e Zd ZdZdZdZdd� Zdd� Zdd � Zd d� Z dd � Z dd� Zdd� Zdd� Z dd� Zdd� Zedd� �Zedd� �Zedd� �Zedd� �Zed d!� �ZdS )"�WizardInstallerz2 General interface for modules installers � Nc C s t d| jj | j�| _d S )Nzwizard.)r � __class__�__name__�LOG_FILE� app_logger)�self� r �py/clwizard/modules/base.py�__init__) s zWizardInstaller.__init__c C s� | j �d� | j �dd�|�� yt|�}W n@ tk rl } z"| j �d� | j �t|�� � W dd}~X Y nX | j �d� | j �|� | j �d� |S )z!Run external tool and log resultsz<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zExecuting command %s...� zL...external command failed, see following lines for tracebacks, errors, etc.Nz3...external command successfully ended with output:z<------------------------------------------------------------)r �info�joinr r �error�str)r �cmd�output�errr r r �_run_command, s zWizardInstaller._run_commandc C s4 t � }|r,d|� d|� �}| j�|� t� �t|�S )z!Check if package exists on serverzCan't check package z presence. Errors: )r r r! r r )r Zpackage_nameZ error_messageZlog_messager r r �_is_package_installedA s z%WizardInstaller._is_package_installedc G s t � r| j|� S | j|� S dS )z!Install a package and log resultsN)r �_install_apt_package�_install_yum_package)r �packagesr r r �_install_packageL s z WizardInstaller._install_packagec G s |r| � dddgt|� �S dS )z&Install an apt package and log resultszapt-get�installz-yN)r&