관리-도구
편집 파일: parser.cpython-311.opt-1.pyc
� �EBg' � �. � 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 �py/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>