Hacked By AnonymousFox

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

�

m4�fYJ��L�ddlmZddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
mZddlm
Z
ddlmZdd	lmZdd
lmZddlmZmZddlmZmZmZdd
lmZmZmZddlmZmZdZ d�Z!d d�Z"d d�Z#d�Z$d!d�Z%d"d�Z&d�Z'd�Z(d�Z)d�Z*d�Z+d�Z,d d�Z-d�Z.d�Z/d�Z0dS)#�)�print_function)�absolute_import)�divisionN)�	iteritems�)�clpassenger)�clselectctl)�utils)�clprint)�ClSelectExcept�BaseClSelectException)�environments�
extensions�interpreters)�userdomains�docroot�CP_NAME)�NoDomain�NotSupported�rubyc��td��td��td��td��td��td��td��td��td	��td
��td��td��td
��td��td��td��td��td��td��td��td��td��dS)NzB -v | --version VERSION              : Specify alternative versionz/ -u | --user USERNAME                : UsernamezZ      --domain DOMAIN                : Domain (or subdomain); users main domain as defaultzH -l | --list                         : List alternatives for interpreterzB -G | --list-extensions              : List global set of packageszC -K | --list-extensions-version      : List version set of packageszC -s | --user-summary                 : List user summary of webappsz9 -y | --create-webapp                : Create user webappz: -n | --destroy-webapp               : Destroy user webappz] -f | --relocate-webapp              : Change webapp directory (files must be moved manually)zA -F | --transit-webapp               : Change webapp domain/aliasz5 -Z | --restart-webapp               : Restart webappzZ -c | --user-current                 : Show currently selected alternative for user webappzM -b | --set-user-current             : Set alternative as user webapp defaultz[ -e | --enable-user-extensions GEMS  : Install comma-separated list of gems for user webappz] -d | --disable-user-extensions GEMS : Uninstall comma-separated list of gems for user webappzC                                     : Use '-' (minus) for all gemszZ -r | --replace-user-extensions GEMS : Update comma-separated list of gems for user webappzJ -g | --list-user-extensions         : List installed gems for user webappzi -p | --print-summary                : If specified along with setting an alternative prints user summaryz9 -j | --json                         : Print data as JSON)�print���O/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectctlruby.py�usagersR��	�
N�O�O�O�	�
;�<�<�<�	�
f�g�g�g�	�
T�U�U�U�	�
N�O�O�O�	�
O�P�P�P�	�
O�P�P�P�	�
E�F�F�F�	�
F�G�G�G�	�
i�j�j�j�	�
M�N�N�N�	�
A�B�B�B�	�
f�g�g�g�	�
Y�Z�Z�Z�	�
g�h�h�h�	�
i�j�j�j�	�
O�P�P�P�	�
f�g�g�g�	�
O�P�P�P�	�
V�W�W�W�	�
u�v�v�v�	�
E�F�F�F�F�Frc�*�t||��}|s|}tj|||��}|���sT	t	jd���|}n"#t
$rt
j|���wxYw|�|��|S)N�version)�key)	�_get_prefixr�Environment�existsr�KeyErrorr�NoSuchAlternativeVersion�create)�user�	directoryr�env_name�prefix�environment�interpreters       r�_create_environmentr,8s���
��y�
)�
)�F������*�8�T�6�B�B�K������(�	C�&�3�	�B�B�B�7�K�K�K���	C�	C�	C� �9�'�B�B�B�	C�������;�'�'�'��s�A�A;c��t||��}|�Btj|��}|�|��}|st	jd|z���|d}tj�tj�	tj�	|������}tj|||��}|S)N�8No such application (or application not configured) "%s"�binary)r r�summary�getr�NoSuchApplication�os�path�basename�dirnamerr!)r&r'�app_summaryr)�user_summaryr/r(r*s        r�_get_environmentr9Fs���
��y�
)�
)�F���"�*�4�0�0��"�&�&�y�1�1���	{� �2�3m�py�3y�z�z�z�
��
"�F��w������������0G�0G� H� H�I�I�H��*�8�T�6�B�B�K��rc��tj||��\}}tj�t
jtj|����S�N)	r
�get_abs_relr3r4�joinr�DEFAULT_PREFIXr	�
get_prefix)r&r'�_�rel_dirs    rr r SsC���"�4��3�3�J�A�w�
�7�<�<��3�#�.�w�7�7�9�9�9rc�h�|�tjd���tj|��}tj|��tj|��}t
||||��}|���j}tj
|||t||���tj||��dS)NzNot passed version as argument��doc_root)
r�	WrongDatar	�get_user�check_directory�	get_aliasr,r+r/r�	configure�INTERPRETER�restart)r&r'�aliasrr(rDr*r/s        rr%r%Ys������&�'G�H�H�H����%�%�D���	�*�*�*��!�%�(�(�E�%�d�I�w��I�I�K�
�
$�
$�
&�
&�
-�F���$�	�5�+�v�PX�Y�Y�Y�Y����i�(�(�(�(�(rc�H�tj|��}t||��}|s-|j|������iSt
|�����}t||||��}t
|�����}||z
D]-}	|�	|���#tj$rY�*wxYw||z
D]-}	|�|���#tj$rY�*wxYwtj|��|}	|	d}
|	d}|	d}|���j}
tj|���tj|||
t$|
|���tj||��dS)NrLr�htaccess�rNrC)r	rFr9�namer+�as_dict�setrr,�extension_uninstallr�ExternalProgramFailed�extension_installrr0r/�_unconfigurerIrJrK)r&r'rr(�old_environment�old_extensions�new_environment�new_extensions�	extensionr7rLrD�
htaccess_pathr/s              r�currentr]gs������%�%�D�&�t�Y�7�7�O��O��$�o�&A�&A�&C�&C�&K�&K�&M�&M�N�N���3�3�5�5�6�6�N�)�$�	�7�H�M�M�O���3�3�5�5�6�6�N�#�n�4���	�	��/�/�	�:�:�:�:���3�	�	�	��D�	����$�n�4���	�	��-�-�i�8�8�8�8���3�	�	�	��D�	�����%�d�+�+�I�6�K��� �E��9�%�H��
�+�M�
�
(�
(�
*�
*�
1�F���m�4�4�4�4���$�	�5�+�v�PX�Y�Y�Y�Y����i�(�(�(�(�(s$�0C�C�C�#C9�9D�
Dc�V�tj|��}t||��j}t	j||��\}}	t
j|��n#t$rYnwxYwtj
||��	tj||��dS#tj
$rYdSwxYwr;)r	rFr9r)r
r<�shutil�rmtree�OSErrorr�unconfigurerKr�MissingApprootDirectory)r&r'r)�abs_dirr@s     r�destroyre�s������%�%�D�
�d�I�
.�
.�
5�F��"�4��0�0�J�G�Q�
��
�g�������
�
�
���
������D�)�,�,�,�
���D�)�,�,�,�,�,���1�
�
�
����
���s$�A�
A%�$A%�>B�B(�'B(c�x�tj|��}t||��}|�|��dSr;)r	rFr9rU�r&r'r[r*s    r�installrh�s;�����%�%�D�"�4��3�3�K��!�!�)�,�,�,�,�,rc�r�tj|��}t||��}|���Sr;)r	rFr9r)r&r'r*s   r�list_extensionsrj�s3�����%�%�D�"�4��3�3�K��!�!�#�#�#rc��d|vrtjd���tj|��}tj|��tj||��\}}tj||��\}}tj|��}||vrtj	d|z���||vrtjd|z���||d}	||d}
||d}t||��j}tj|��}
tj|��}tj|tj�t j|
����\}}tj�|d��}tj|tj�t j|����\}}tj�|d��}d	|zd
z}d	|zd
z}t%j||��t)jtj�|ddd����D]F}tj|��}||vr,|�||��}tj||d
���Gtj�|��stj||��t5||��}t!j|||��}|���j}tj|	���tj|||t@||
���tj!||��dS)N�/z$You cannot move appication to subdirz(Specified directory already used by '%s'r.rNrrL��(�:�*�bin�wrOrC)"rrEr	rFrGr
r<rr0�WebAppErrorr9rPr?r3r4r=rr>r_�move�glob�	file_read�replace�
file_writer"�renamer r!r+r/rVrIrJrK)r&�
old_directory�
new_directory�fmt�old_abs�old_rel�new_abs�new_rel�old_user_summaryr\rDrLr(�
old_prefix�
new_prefix�	_old_envsr@�old_envs�	_new_envs�new_envs�
old_prompt�
new_prompt�activate�old_activate�new_activater)r*r/s                            r�relocater��s���
�m����&�'M�N�N�N����%�%�D���
�.�.�.��(��}�=�=��G�W��(��}�=�=��G�W�"�*�4�0�0���(�(�(��(�)S�V]�)]�^�^�^��,�,�,��&�'c�fs�'s�t�t�t�$�]�3�J�?�M��
�.�y�9�H��]�+�G�4�E���m�4�4�9�H��'��0�0�J��'��0�0�J��$�T�2�7�<�<��#�Z�,1�,1�2�2�L�I�q��w�|�|�I�r�*�*�H��$�T�2�7�<�<��#�Z�,1�,1�2�2�L�I�q��w�|�|�I�r�*�*�H��w���$�J��w���$�J�
�K��(�#�#�#��I�b�g�l�l�8�S�%��E�E�F�F�:�:����x�0�0����%�%�'�/�/�
�J�G�G�L���X�|�S�9�9�9��
�7�>�>�'�"�"�$�
�	�'�7�#�#�#�
��}�
-�
-�F��*�8�T�6�B�B�K�
�
$�
$�
&�
&�
-�F���m�4�4�4�4���$�
�u�k�6�T\�]�]�]�]����m�,�,�,�,�,rc��tj|��}tj|��}||vrt	jd|z���tj||��dS)Nr.)r	rFrr0rrErK)r&r'�apps_summarys   rrKrK�s^�����%�%�D��&�t�,�,�L���$�$��&�'c�fo�'o�p�p�p����i�(�(�(�(�(rc��tj|��}i}ttj|����D]�\}}|dt
kr�t
|||�����}|d|d|d|d|dd�||<d|vr*t|d��dkr|d||d<��|S)	Nr+�domainrLrPr)r�rLr*r+r�domainsr)	r	rFrrr0rJr9�as_deepdict�len)r&�summr'�datar*s     rr0r0�s������%�%�D�
�D�$�[�%8��%>�%>�?�?�9�9��	�4��
��+�-�-��&�t�Y��=�=�I�I�K�K���8�n��'�]�&�v�.�&�}�5�%�l�3�
�
��Y�������T�)�_�!5�!5��!9�!9�)-�i��D��O�I�&���Krc
���tj|��}tj|��}||vrt	jd|z���||}|d}|d}tj|��}t||��}	|	���j	}
tj
|||t|
dd|���tj||||||���tj
||��dS)Nr.rLrT�transitrC)�old_doc_root�new_doc_root)r	rFrr0rrErHr9r+r/rIrJrtrK)r&r'rLrDr��old_app_summary�	old_aliasr��	new_aliasr*r/s           rr�r��s������%�%�D��&�t�,�,�L���$�$��&�'c�fo�'o�p�p�p�"�9�-�O���(�I�"�9�-�L��%�e�,�,�I�"�4��3�3�K�
�
$�
$�
&�
&�
-�F���$�	�9�k�6�4�QZ�em�n�n�n�n���T�9�i���dl�m�m�m�m����i�(�(�(�(�(rc�x�tj|��}t||��}|�|��dSr;)r	rFr9rSrgs    r�	uninstallr�
s;�����%�%�D�"�4��3�3�K��#�#�I�.�.�.�.�.rc�x�tj|��}t||��}|�|��dSr;)r	rFr9�extension_updatergs    r�updater�s;�����%�%�D�"�4��3�3�K�� � ��+�+�+�+�+rc	�j�	tjtjdd�dgd���\}}nj#tj$rX}tj�t
|����t��tjd��Yd}~nd}~wwxYwd}d}d}d}d}d}d}	|s"t��tjd��|D]�\}
}|
dvr�
|
dvrd	}�|
d
vrd}�|
dvrd
}�|
dvrd}�&|
dvrd}�-|
dvrd}�4|
dvrd}�;|
dvrd}�B|
dvrd}�I|
dvrd}|}�R|
dvrd}�Y|
dvrd}�`|
d vrd!}|}�i|
d"vrd#}|}�r|
d$vr|}	�y|
d%vrd&}��|
d'vr|}��|
d(kr|}��|
d)vrd*}��|
d+vrd,}|}��tj�d-��tjd����|dkr3tj�d.��tjd��|d/vr5|s3tj�d0��tjd1��|r�	t|��\}}
n~#t$r2tj|d2d3|zd4���tjd��YnCt$r7tj|d2d5tzd4���tjd��YnwxYw|s|
}n�||
kr2tj|d2d6|�d7|��d4���tjd��nd|rb|s`	t|��}nD#t$r7tj|d2d5tzd4���tjd��YnwxYw|d8\}}|d9kr:|dkr3tj�d:��tjd;��n!|rd<�|�d=��D��}	d8}d8}i}|d&kr't#j�����}�nK|d,kr*t#j���|��}d}�n|d	krt+jd>��}�n�|dkrt/|��}�n�|dkr"t1||d8|d|	|�?���n�|d
krt3||d8���n�|dkr t5||d8|d|���n||dkr'd}|r|}t7||d8|d|�?���nO|dkrt9||d8���n1|dkrt;||d8��}�n|dkrt;||d8|	��n�|dkrt=||d8��}n�|d8}|d9krt=||��}|D]�}	|dkrt?|||��n/|d#krtA|||��n|d!krtC|||��|�!|d@dAii��|dz
}�i#tDtFj$f$r6}|�!|d2t
|��d4�i��|dz
}Yd}~��d}~wwxYwn�#tJ$rC}tj|d2t
|��d4���tjd��Yd}~nYd}~wtL$rI}tOj(��}tj|d2|d4���tjd��Yd}~nd}~wwxYw|s|rt/|��}|r|rdB}dC}ns|rd2}dD}nl|rA|dCkr;|r#tj)|t/|����n+tj)|i��ntj)||��tjd8��dE�*dF�tW|��D����}tj|||d4���tj|��dS)GNrzhi:v:u:lGsynfFZcbe:d:r:gpjK:)�helpzinterpreter=zversion=zuser=zdomain=�list�list-extensions�user-summary�
create-webapp�destroy-webapp�relocate-webapp�transit-webapp�restart-webapp�user-current�set-user-currentzenable-user-extensions=zdisable-user-extensions=zreplace-user-extensions=�list-user-extensionsz
print-summary�jsonzlist-extensions-version=rm�textF)z-iz
--interpreter)z-lz--listr�)z-yz--create-webappr�)z-nz--destroy-webappr�)z-fz--relocate-webappr�)z-Fz--transit-webappr�)z-Zz--restart-webappr�)z-cz--user-currentr�)z-bz--set-user-currentr�)z-gz--list-user-extensionsr�)z-ez--enable-user-extensions�enable-user-extensions)z-sz--user-summaryr�)z-jz--jsonr�)z-rz--replace-user-extensions�replace-user-extensions)z-dz--disable-user-extensions�disable-user-extensions)z-vz	--version)z-Gz--list-extensionsr�)z-uz--userz--domain)z-pz--print-summaryT)z-Kz--list-extensions-versionzlist-extensions-versionzunhandled optionz2ERROR:you must provide option for interpreter ruby)	r�r�r�r�r�r�r�r�r�zwebapp must be specified��ERRORzNo such domain: "%s")�status�messagez"Ruby selector not supported for %szdomain z is not owned by the user r�-z/installlation of all extensions is not possible�c��g|]}|�|��Srr)�.0�_fs  r�
<listcomp>zmain.<locals>.<listcomp>�s��8�8�8��R�8��8�8�8r�,rrCr��OK�PARTIAL���
c
3�zK�|]6\}}|�d|�d|�dd������V��7dS)z: r�r�rmN)r1)r��k�vs   r�	<genexpr>zmain.<locals>.<genexpr>�sb����'�'��A�q��A�A�q�u�u�Y����h��(;�(;�<�<�<�=�'�'�'�'�'�'r),�getopt�sys�argv�GetoptError�stderr�write�strr�exitrrr�
print_diagrrr�splitr�
ExtensionInfo�list_extensions_cached�list_extensions_versionr�interpreters_dictr0r%rer�r�rKr]rjrhr�r��
ValueErrorrrTr
�	Exception�	traceback�
format_exc�
print_datar=r)�opts�args�err�ext_listr|�
print_summaryr&r��actionr�o�arD�user_�domain_listr@�_exts�error�ok�resultr�rLr[�msgr��exit_statusr�s                           r�mainr�s�	����]��H�Q�R�R�L�*�-�-�-���
��d�d��4������
����S���"�"�"�
�����������������������
�H�
�C��M��D�
�F�
�F��G���
�����������1�1���1��'�'�'��
�"�
"�
"��F�F�
�+�
+�
+�$�F�F�
�,�
,�
,�%�F�F�
�-�
-�
-�&�F�F�
�,�
,�
,�%�F�F�
�,�
,�
,�%�F�F�
�*�
*�
*�#�F�F�
�.�
.�
.�'�F�F�
�2�
2�
2�+�F�F�
�4�
4�
4�-�F��H�H�
�*�
*�
*�#�F�F�
�"�
"�
"��C�C�
�5�
5�
5�.�F��H�H�
�5�
5�
5�.�F��H�H�
�%�
%�
%��G�G�
�-�
-�
-�&�F�F�
�"�
"�
"��D�D�
�*�_�_��F�F�
�+�
+�
+� �M�M�
�5�
5�
5�.�F��H�H��J���/�0�0�0��H�Q�K�K�K�K�
��|�|��
���M�N�N�N�������
����
�	��J���7�8�8�8��H�Q�K�K�K�
�%�	�%�f�o�o�O�H�e�e���	�	�	���s�w�CY�\b�Cb�$c�$c�d�d�d��H�Q�K�K�K�K�K��	�	�	���s�w�Cg�jq�Cq�$r�$r�s�s�s��H�Q�K�K�K�K�K�	�����	��D�D�
�U�]�]���s�w�w�nt�nt�nt�vz�vz�C{�$|�$|�}�}�}��H�Q�K�K�K��	
�%�f�%�	�%�d�+�+�K�K���	�	�	���s�w�Cg�jq�Cq�$r�$r�s�s�s��H�Q�K�K�K�K�K�	����"�!�n���8��3����-�-�-��J���N�O�O�O��H�Q�K�K�K��	�9�8�8�h�n�n�S�1�1�8�8�8��9���
�����&�&�&��-�/�/�F�F�H�H�F�F�
�0�
0�
0��-�/�/�G�G��N�N�F��H�H�
�v�
�
�!�3�I�>�>�F�F�
�~�
%�
%��T�]�]�F�F�
��
&�
&��4��a��$�q�'�7�X�F�F�F�F�F�
�'�
'�
'��D�$�q�'�"�"�"�"�
�(�
(�
(��T�4��7�D��G�S�1�1�1�1�
�'�
'�
'��L��
(�'���D�$�q�'�4��7�\�B�B�B�B�B�
�'�
'�
'��D�$�q�'�"�"�"�"�
�~�
%�
%��T�4��7�+�+�F�F�
�)�
)�
)��D�$�q�'�7�+�+�+�+�
�-�
-�
-�$�T�4��7�3�3�F�F���G�E��3���'��e�4�4��"�

�

�	���!9�9�9���e�Y�7�7�7�7��#<�<�<�!�$��y�9�9�9�9��#<�<�<��t�U�I�6�6�6��M�M�9�x��.>�"?�@�@�@��!�G�B�B��"�N�$H�I�����M�M�"�w�3�s�8�8�$L�$L�M�O�O�O��Q�J�E�E�E�E�E�E�����������!������3�7�s�3�x�x� H� H�I�I�I���������������������"�$�$����3�7�s� C� C�D�D�D��������������������
��m����������������	��������	,��Q����
,��"�3���
�
�6�6�6�6��"�3��+�+�+�+���s�F�+�+�+��������i�i�'�'��f�%�%�'�'�'�'�'�G���s�v�'�B�B�C�C�C��H�[�����s��-0�B�AB�B�H*�*9J%�%=J%�$J%�+K;�;>L<�;L<�,GX+�5A%W�X+�X'�1,X"�X+�"X'�'X+�+
[	�59Y3�3
[	�?[�[	r;)NNN)NN)1�
__future__rrrr�rur3r_r�r��future.utilsrrmrr	r
�
clselectprintr�clselectexceptrr
�clselectrubyrrr�clcommon.cpapirrr�clcommon.cpapi.cpapiexceptionsrrrJrr,r9r r%r]rerhrjr�rKr0r�r�r�r�rrr�<module>r�s`��&�%�%�%�%�%�&�&�&�&�&�&�������
�
�
�
�����	�	�	�	�
�
�
�
�
�
�
�
�����"�"�"�"�"�"�������������������"�"�"�"�"�"�A�A�A�A�A�A�A�A�@�@�@�@�@�@�@�@�@�@�8�8�8�8�8�8�8�8�8�8�A�A�A�A�A�A�A�A���G�G�G�2����
�
�
�
�9�9�9�)�)�)�)� )� )� )� )�F
�
�
�"-�-�-�$�$�$�2-�2-�2-�j)�)�)����.)�)�)�)�$/�/�/�,�,�,�\�\�\�\�\r

Hacked By AnonymousFox1.0, Coded By AnonymousFox