Your IP : 3.15.218.243
�
�
�g'
� �. � d dl Z d dlZd dlmZ d� Zd� ZdS )� N)�get_supported_modulesc
�< � t j | � � }n.# t t f$ r}t j d� � |�d }~ww xY wt
� � }|� � � D �]3\ }}||vr9t j d|� dt |� � � � � � �� � �dt |� � � � � v r�t |d � � � � � � || � � � � � s?t j d|� dt |d � � � � � � �� � ���|r9t j d|� dt |� � � � � � �� � ���5|S )NzInvalid JSON data passed�'z9' module is not supported at the moment, available keys: �optionsz ' module has incorrect options: z%' module has incorrect instructions: )
�json�loads� TypeError�
ValueError�argparse�ArgumentTypeErrorr �items�list�keys�set�issubset�supported_options)�json_string�data�
json_error�supported_modules�name�instructionss �F/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwizard/parser.py�validate_json_modulesr s� � �U��z�+�&�&�����z�"� U� U� U��(�)C�D�D�*�T�����U���� .�/�/�� #�j�j�l�l� � ���l��(�(�(��,�D�D� D� D�#'�(9�(>�(>�(@�(@�#A�#A�D� D�� �
� ��\�.�.�0�0�1�1�1�1��|�I�.�3�3�5�5�6�6�?�?�%�d�+�=�=�?�?�� �
� �0�d��d�d�d�<�PY�CZ�C_�C_�Ca�Ca�>b�>b�d�d�� � �
� � ��,�Z�D�Z�Z�t�L�DU�DU�DW�DW�?X�?X�Z�Z�� �
� � �Ks � �A�=�Ac � � t j dd�� � }|� ddt j �� � |� d�� � }|� d d
�� � }|� dd
d�� � |� ddd�� � |� d�� � }|� ddt �� � |� ddd�� � |� dd�� � }|� dddd�� � |� dd�� � }|� dd �� � }|� d!t t � � � � �"� � |�
| � � }|S )#z2
Arg parser for cloudlinux-wizard utility
zcloudlinux-wizardz)Utility for installing cloudlinux modules)�prog�descriptionz--json�
store_true)�action�help� subparser)�dest�installzLInstall a module. The installation is performed in the background by default)r z
--no-asynczInstall in the foreground)r r z--forcez4Force the installer to ignore existing installationsT)�requiredz--json-dataz!JSON with modules to be installed)r �typez--resumez@Restart the installation process with previously given arguments�statusz(Return JSON with statuses of all modulesz --initialz-izGet the current modules' status�finishz6Finalize the installation from UI and close the wizard�cancelz+Remove a module from the installation queue�module)�choices)r �ArgumentParser�add_argument�SUPPRESS�add_subparsers�
add_parser�add_mutually_exclusive_groupr r r �
parse_args) �argv�parserr! �install_parser�installer_group�
status_parser�
finish_parser�
cancel_parser�optss r �parse_cloudlinux_wizard_optsr: + s� � � �
$�
�?�� � �F�
�����H�<M��N�N�N��%�%�;�%�7�7�I��)�)��
[� *� � �N� ����6�|� � � � � ����
C�� � � � � %�A�A�4�A�P�P�O�� � ��
0�
"� !� � � �
� � ��
O�� !� � � � �(�(��A� )� � �M� ����T�,�5V� � � � � �(�(��O� )� � �M� �(�(��D� )� � �M� ���x��6K�6M�6M�1N�1N��O�O�O����T�"�"�D��K� )r r �clwizard.modulesr r r: � r; r �<module>r>