Edit File: wizard.cpython-37.opt-1.pyc
B 5/9e�8 � @ s0 d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm Z m Z mZmZ d dl Z d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d lmZ d dlmZ d dlmZ d d lmZmZmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z% d dl&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z. G dd� de/�Z0dS )� )�print_function)�absolute_importN)�Any�Optional�Dict�NoReturn)�FormattedException)�run_command�ExternalProgramFailed�get_cl_version)�get_package_db_errors)� is_ubuntu)�NoSuchModule� )�acquire_config_access)�Config)�run_installation�ALL_MODULES�get_supported_modules)�WizardStatus�ModuleStatus�CRASH_LOG_PATH�FILE_MARKER_PATH� MAIN_LOG_PATH)�CancelModuleException�InstallationFailedException)�parse_cloudlinux_wizard_opts)�is_background_process_running�run_background�setup_loggerc @ s� e Zd ZdZejejejgZej ejej gZdd� Zdd� Z edd� �Zdd � Zd%dd�Zd d� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zed&d#d$��Zd S )'�CloudlinuxWizardzAMain class for working with Wizard that exposes high level logic.c C s d | _ t� | _tdt�| _d S )Nzwizard.main)�_optsr �_supported_modulesr r �log)�self� r% �py/clwizard/wizard.py�__init__C s zCloudlinuxWizard.__init__c C s� t |�| _�y | jjdkrj| �� | �� r@| jjs@| jddd� | �� | jjrXt � q�| j | jjd� nf| jjdkr�| �� | jjr�| � � q�| �� n6| jjdkr�| �| jj� n| jjdkr�| �� nt�| jjd kr�| �� s�| jjdk�r| �� �s| �� | �� | �� W n� tk �rd } z.| j�d t|�� | j|j|j|jdd� W dd}~X Y nj tk �r� | jd dd� Y nH tk �r� } z(| j�dt|�� | jdt �!� d� W dd}~X Y nX dS )zv CL Wizard main function :param argv: command line arguments for wizard :return: None �installzInstallation already finishedr )�result� exit_code)�options�status�cancelZfinish)r( r- z;Got an error while running cloudlinux-wizard, message: '%s')r) �context�detailsr* Nz<Module installation failed, see the log for more informationz&Unknown error in cloudlinux-wizard, %szVUnknown error occured, please, try again or contact CloudLinux support if it persists.)r) r/ )"r r! Z subparser�_validate_system�is_installation_finishedZforce�_print_result_and_exit�_prepare_for_installationZno_asyncr �run_background_installationZ json_data�initial�_get_initial_status�_get_modules_statuses�_cancel_module_installation�module�create_completion_marker�NotImplementedError�is_all_modules_installed�run_collecting_statistics�run_cagefs_force_updater r# �error�str�messager. r/ r � ExceptionZ exception� traceback� format_exc)r$ �argv�errr% r% r&