Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectruby/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectruby/__pycache__/environments.cpython-311.pyc

�

m4�fl��0�ddlmZddlmZddlmZddlZddlZddlmZddlm	Z	ddl
mZmZm
Z
dd	lmZmZdd
lmZdZej�ej�e��d��Zd
ZdZGd�de��Zdd�Zdd�Zdd�Zdd�Z dS)�)�absolute_import)�print_function)�divisionN)�
StrictVersion)�
get_directory)�
check_call�check_output�	list_dirs�)�EXTENSION_PATTERN�
ExtensionInfo)�Interpreter�rubyvenvzrubyvenv.py�#z /opt/cloudlinux/venv/bin/python3c�j�eZdZdd�Zd�Zd�Zdd�Zdd�Zdd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�ZdS)�EnvironmentNc�\�||_|r||_n/tjt	j����j|_|�
t|_n||_tj	�
t|j|j��|��|_	d|_d|_
d|z|_dS)N�ruby)�name�user�pwd�getpwuid�os�getuid�pw_name�DEFAULT_PREFIX�prefix�path�join�_abs_prefix�_interpreter�_gem�interpreter_name)�selfrrrs    �Y/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectruby/environments.py�__init__zEnvironment.__init__s�����	��	:��D�I�I���R�Y�[�[�1�1�9�D�I��>�(�D�K�K� �D�K��G�L�L��T�Y���!D�!D�d�K�K��	� �����	� &��
�����c
�j�|jj�d|jj�d|j�d|j�d|j�d�
S)N�.z(name='z	', user='z', prefix='z'))�	__class__�
__module__�__name__rrr�r$s r%�__repr__zEnvironment.__repr__,s@���N�%�%�%�t�~�'>�'>�'>��I�I�I�t�y�y�y�$�+�+�+�/�	0r'c�D��tj|j����fd�}|S)Nc�l��tj�j��tj�j��dS�N)r�setgid�pw_gid�setuid�pw_uid)�user_pwds�r%�funcz!Environment._demote.<locals>.func4s-����I�h�o�&�&�&��I�h�o�&�&�&�&�&r')r�getpwnamr)r$r7r6s  @r%�_demotezEnvironment._demote1s4����<��	�*�*��	'�	'�	'�	'�	'��r'c��|j|���|���d�}|r||=t||��|iS|S�N)r�interpreter�
extensions)rr<r=�getattr�r$�key�es   r%�as_dictzEnvironment.as_dict:sZ���I��+�+�-�-��/�/�+�+�
�
��
�	+��#���D�#�&�&��*�*��r'c��|j|������|���d�}|r||=t	||��|iS|Sr;)rr<rBr=r>r?s   r%�as_deepdictzEnvironment.as_deepdictEsf���I��+�+�-�-�5�5�7�7��/�/�+�+�
�
��
�	+��#���D�#�&�&��*�*��r'c�2�|st|j���}dttj�|j����zdz|jzdz}tttd|d|j|j|������dS)N)�target_user�(�:�)z--promptz--ruby��
preexec_fn)
rrrrr�basenamerrr�PYTHON_PATH�RUBYVENV_BIN�binaryr9)r$r<�prompts   r%�createzEnvironment.createPs����	=�%�$�)�<�<�<�K���"�'�*�*�4�;�7�7�8�8�9�;>�?�AE��K����	������k�(��I��|�|�~�~�	'�	'�	'�	'�	'�	'r'c�\�tddd|j|������dS)Nz/bin/rmz-rz--interactive=neverrJ)rrr9r-s r%�destroyzEnvironment.destroy]s1���9�d�$9�4�9�QU�Q]�Q]�Q_�Q_�`�`�`�`�`�`r'c�J�tj�|j��Sr1)rr�existsr-s r%rUzEnvironment.exists`s���w�~�~�d�i�(�(�(r'c�^�|js t|j|j���|_|jS)N)rrF)r!rrrr-s r%r<zEnvironment.interpretercs0��� �	U� +�4�9�$�)� T� T� T�D��� � r'c�t�|js+tj�|jdd��|_|jS)N�bin�gem)r"rrrr-s r%rYzEnvironment.gemhs/���y�	>�����T�Y��u�=�=�D�I��y�r'c��tj|j��}|�t��}|d|dd�pd}}t|j��td��kr|���dd|f}n|���ddd|f}|r|d}|d	|fz
}tj|||��rtd
|z���t||������dS)Nrr�z2.6�installz
--no-documentz	--no-rdocz--no-ri�-vz6Extension '%s' install is prohibited. System extension��argsrK)r
�get_locked_extensionsr#�split�VERSION_DELIMITERrrrY�is_extensions_locked�
ValueErrorrr9�r$�	extension�locked_extensions�t�version�commands      r%�extension_installzEnvironment.extension_installms���)�?��@U�V�V���O�O�-�.�.���q�T�1�Q�R�R�5�;�B�7�	����#�#�}�U�';�';�;�;��x�x�z�z�9�o�y�I�G�G��x�x�z�z�9�k�9�i�P�G��	'��a�j�G���g��&�G��-�.?��G�T�T�	c��U�Xa�a�b�b�b���D�L�L�N�N�;�;�;�;�;�;r'c�t�t|���d||������dS)N�updaterJ)rrYr9)r$rfs  r%�extension_updatezEnvironment.extension_update|s/���4�8�8�:�:�x��t�|�|�~�~�N�N�N�N�N�Nr'c�~�tj|j��}|�t��}|d|dd�pd}}|���d|ddf}|r|d}|d|fz
}tj|||��rtd|z���t||�	���	��dS)
Nrrr[�	uninstallz-xz-ar]z$Extension '%s' removal is prohibitedr^)
r
r`r#rarbrYrcrdrr9res      r%�extension_uninstallzEnvironment.extension_uninstalls���)�?��@U�V�V���O�O�-�.�.���q�T�1�Q�R�R�5�;�B�7�	��8�8�:�:�{�I�t�T�B���	'��a�j�G���g��&�G��-�.?��G�T�T�	Q��C�i�O�P�P�P���D�L�L�N�N�;�;�;�;�;�;r'c	��i}tj|j��}t|���dd|������}t
j|��}d�|D��}t||��D]�\\}}}tj	|||��r�ttd�|�d��D����t|�
|����z
��}	|	rAt|�
|����dkr|d�|	��d	�||<��||d	�||<��|S)
N�listz--localrJc3�DK�|]\}}tj|��V��dSr1)r
�
extension_doc)�.0rf�_s   r%�	<genexpr>z)Environment.extensions.<locals>.<genexpr>�sE����0�0� �I�q��+�I�6�6�0�0�0�0�0�0r'c�6�g|]}|�����S�)�strip)rv�vs  r%�
<listcomp>z*Environment.extensions.<locals>.<listcomp>�s ��(O�(O�(O�q������(O�(O�(Or'�,rz, )�docri)r
r`r#r	rYr9r�findall�ziprcrs�setra�get�lenr)
r$�resultrg�outputr=�docsrrir�version_diffs
          r%r=zEnvironment.extensions�sb����)�?��@U�V�V���d�h�h�j�j�&�)������W�W�W��&�.�v�6�6�
�0�0�$.�0�0�0��$'�
�D�$9�$9�	@�	@� �O�T�7�S��1�2C�T�7�S�S�
@�#�C�(O�(O�G�M�M�#�<N�<N�(O�(O�(O�$P�$P�&)�*;�*?�*?��*E�*E�&F�&F�%G� H� H���T�C�(9�(=�(=�d�(C�(C�$D�$D��$I�$I�+.�4�9�9�\�;R�;R�#S�#S�F�4�L��'*�w�?�?��t����
r'�NNr1)r,r+�__qualname__r&r.r9rBrDrQrSrUr<rYrkrnrqr=rzr'r%rrs������
.�
.�
.�
.�0�0�0�
���	�	�	�	�	�	�	�	�'�'�'�'�a�a�a�)�)�)�!�!�!�
���

<�
<�
<�O�O�O�
<�
<�
<�����r'rc��|st}|r7tj�t	j|��j|��Stj�t	jtj����j|��Sr1)	rrrrrr8�pw_dirrr)rrs  r%r r �sd��� ����F��w�|�|�C�L��.�.�5�v�>�>�>��w�|�|�C�L�����5�5�<�f�E�E�Er'c���t||��}	t|��}n#t$rgcYSwxYwg}|D]&}|�t	|||�����'|Sr1)r r
�OSError�appendr)rr�	venv_path�env_list�envs�env_names      r%�environmentsr��s����D�&�)�)�I���Y�'�'���������	�	�	�����
�D��9�9�����K��$��7�7�8�8�8�8��Ks�"�1�1c�V��t�fd�t||��D����S)Nc3��K�|]9}t|����������V��:dS�)r@N)rsrB�items�rvrAr@s  �r%rxz$environments_dict.<locals>.<genexpr>�sE�����U�U�Q��Q�Y�Y�3�Y�'�'�-�-�/�/�0�0�U�U�U�U�U�Ur'��dictr��r@rrs`  r%�environments_dictr��s0����U�U�U�U�,�t�V�:T�:T�U�U�U�U�U�Ur'c�V��t�fd�t||��D����S)Nc3��K�|]9}t|����������V��:dSr�)rsrDr�r�s  �r%rxz(environments_deepdict.<locals>.<genexpr>�sY�����5�5���Q�]�]�s�]�+�+�1�1�3�3�4�4�5�5�5�5�5�5r'r�r�s`  r%�environments_deepdictr��sE����5�5�5�5�%�d�F�3�3�5�5�5�5�5�5r'r�)!�
__future__rrrrr�distutils.versionr�clselect.clselectctlr�clselect.utilsrr	r
r=rr
�interpretersrrrr�dirname�__file__rNrbrM�objectrr r�r�r�rzr'r%�<module>r�s���'�&�&�&�&�&�%�%�%�%�%�%�������	�	�	�	�
�
�
�
�+�+�+�+�+�+�.�.�.�.�.�.�>�>�>�>�>�>�>�>�>�>�8�8�8�8�8�8�8�8�%�%�%�%�%�%����w�|�|�B�G�O�O�H�5�5�}�E�E����0��@�@�@�@�@�&�@�@�@�FF�F�F�F�	�	�	�	�V�V�V�V�5�5�5�5�5�5r'

Hacked By AnonymousFox1.0, Coded By AnonymousFox