HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib64/python3.10/site-packages/cli4/__pycache__/cli4.cpython-310.pyc
o

�h�V�@s�dZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
ddl	mZdada
Gdd�de�Zd	d
�Zdd�Zd
d�Zdd�Zddd�Zdd�Zdd�Zdd�ZdS)�Cloudflare API via command line�N�)�
dump_commands�dump_commands_from_web)�
converters)�examplesc@seZdZdZdS)�CLI4InternalErrorz errors in cli4 N)�__name__�
__module__�__qualname__�__doc__�r
r
�?/usr/local/CyberPanel/lib/python3.10/site-packages/cli4/cli4.pyrsrcC�:ddlm}z|��aWdStyt�d�YdSw)� load_and_check_yaml() r��myyamlz2cli4: install yaml support via: pip install pyyamlN)�r�my_yaml�ImportError�sys�exitrr
r
r�load_and_check_yaml��rcCr)rr��myjsonlinesz:cli4: install jsonlines support via: pip install jsonlinesN)rr�my_jsonlinesrrrrr
r
r�load_and_check_jsonlinesrrcCsd�dd�|��D��S)z1 remove leading/trailing tabs/spaces on each line�
cSsg|]}|���qSr
)�strip)�.0�liner
r
r�
<listcomp>,sz#strip_multiline.<locals>.<listcomp>)�join�
splitlines)�sr
r
r�strip_multiline)sr&cCs�t�d�}t�d�}d}d}d}t|�dk�r.d|dvs&|dddk�r.|�d�}|ddkr�|dd�}	|dvrBt�d	|	�zL|	d
krV|rPtjj��}n=tj��}n7|rrt	|	d��}
|
��}Wd�n1slwYnt	|	dd
d��}
|
��}Wd�n1s�wYWnt
y�t�d|	�Ynwq|�dd�\}}|��dkr�d}
�n-|��dkr�d}
�n#|dks�|��dkr�d}
�n|ddkr�|dd�dkr�t�d|�n�|ddkr�|�
|dd��r�t|dd��}
n�|ddk�r|�
|dd���rt|dd��}
n�|ddk�r!t�d|�n�|ddv�ra|ddv�razt�t|�}zt�|�}
Wn
tjj�yKtd�wWn�t�y`t�d||f�Ynw|ddk�r�|dd�}	|dv�r|t�d||	f�|du�r�i}||v�r�t�d||	f�z|	d
k�r�tj||<nt	|	d�||<Wnt
�y�t�d||	f�Ynwq|ddk�r�|ddk�s�|dd k�r�|dd k�r�|dd�}
n|}
|dk�r�|du�r�|
}n-t�d!||f�n#|du�r�i}|}z|
||<Wnt�yt�d!||f�Ynwt|�dk�r.d|dvs&|dddks&|�r9|�r9t�d"�|�rQ|�rQ|��D]\}}d|f||<�qCd}|d#k�r]|�r]|}d}|||fS)$z  process_params_content_files() z
^-?[0-9]+$z^-?[0-9.]+$Nr�=�@r)�PUT�POSTz0cli4: %s - raw file upload only with PUT or POST�-�rb�rzutf-8)�encodingzcli4: %s - file open failure�trueT�falseFr�nonez#cli4: %s== - no number value passedz(cli4: %s== - invalid number value passedz[{���z}]z&cli4: %s="%s" - can't parse json valuez/cli4: %s=%s - file upload only with PUT or POSTzcli4: %s=%s - duplicate namezcli4: %s=%s - file open failure�"�'z;cli4: %s=%s - param error. Can't mix unnamed and named listz-cli4: content and params not allowed together�GET)�re�compile�len�poprr�stdin�buffer�read�open�IOError�split�lower�match�int�floatrr&r�	safe_load�parser�ParserError�
ValueError�	TypeError�items)�method�binary_file�args�digits_only�floats_only�params�content�files�arg�filename�f�
tag_string�value_string�value�tag�k�vr
r
r�process_params_content_files.s�

,

��
���"���



��8

�

��*�]


r[cCs�|ddkr|dd�}|ddkr|dd�}|�d�}g}d}d}	d}
t�d�}t�d�}t�d�}
|}|D�]D}|dd	k�rV|dd�}|du�r+t|�d
vr[|�|�r[|}n�t|�dkri|
�|�ri|}n�|dd	krv|dd�}n�z�|ddkr�t�||�}n�|dd
kr�t�||�}nw|ddkr�t�||�}nj|ddkr�t�||�}n]|ddkr�|ddkr�t�||�}nJ|ddkr�|ddkr�t�	||�}n7|ddkr�|ddkr�t�
||�}n$|ddkr�|ddkr�|ddkr�t�||�}ntdd�
|�|f��Wnt�y"}ztj�d||f�|�d}~ww|�d	|�q8|	du�r�t|�d
v�r@|�|��r@|}	n�t|�dk�rP|
�|��rP|}	nu|dd	k�r^|dd�}	ngzM|d�r|dd
k�r|d�r|ddk�rt�|||�}	n+|d�r�|dd
k�r�|d�r�|ddk�r�t�|||�}	ntdd�
|�|f��Wnt�y�}ztj�d||f�|�d}~wwt|	t��r�|�dd�
|	�d�q8|�d	|	�|	g}	q8t|�d
v�r�|�|��r�|}
q8t|�dk�r|
�|��r|}
q8|�|��r|}
q8|dd	k�r|dd�}
q8t|�dk�rG|ddk�rG|ddk�rG|d d!k�rG|d"d#k�rG|dd$k�rG|}
q8tj�d%d�
|�|f�|�zt|tj�|��}|�|�Wq8t�y}}z
tj�d&|�|�d}~wwg}|	du�r�dg}	|	D]�}zP|d'k�r�|j|||
|d(�}n?|d)k�r�|j|||
|d*�}n0|d+k�r�|j|||
||d,�}n |d-k�r�|j|||
||d,�}n|d.k�r�|j|||
|d*�}n	Wnutjj �y}z-t|�dk�r|D]}tj�d/|t!|�t"|�f��q�tj�d/|t!|�t"|�f�|�d}~wtjj#�y7}ztj�d0|t!|�t"|�f�|�d}~wt$�yQ}ztj�d1|t"|�f�|�d}~ww|�|��q�|S)2zrun the command liner�/rNr2z^[0-9a-fA-F]+$z^[0-9]+[A-Z]*$zM^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$�:)� �(�0�$�certificates�zones�accounts�
organizations�user�invites�virtual_dns�load_balancers��poolsz/%s/%s :NOT CODED YETzcli4: /%s - %s
�dns_records�custom_hostnamesz/%s/:%s :NOT CODED YETz:[�,�]��storage��kv��
namespaces�valuesz/%s/:%s :NOT CODED YET
zcli4: /%s - not found
r5)�identifier1�identifier2�identifier3rO�PATCH)rwrxry�datar*)rwrxryr{rQr)�DELETEzcli4: /%s - %d %s
z!cli4: InternalError: /%s - %d %s
zcli4: /%s - %s - api error
)%r?r6r7r8rAr�convert_zones_to_identifier�convert_accounts_to_identifier�#convert_organizations_to_identifier�convert_invites_to_identifier�!convert_virtual_dns_to_identifier�)convert_load_balancers_pool_to_identifierrr#r�stderr�write�append� convert_dns_record_to_identifier�&convert_custom_hostnames_to_identifier�
isinstance�list�getattr�
CloudFlare�
sanitize_verb�AttributeError�get�patch�post�put�delete�
exceptions�CloudFlareAPIErrorrB�str�CloudFlareInternalError�	Exception)�cfrJ�commandrOrPrQ�parts�cmdrwrxry�hex_only�	waf_rules�
uuid_value�m�element�e�results�i2r-�xr
r
r�run_command�s$





$���
00���T��

�
�
�
�
��"����r�c	CsZ|durdSt|�dkr|d}t|tttf�rn[|dkr<ztj|ddddd	�}WnJty;tj|dddd
�}Yn9w|dkrFt�	|�}n.|dkrizt
�tj
�}|�|�|��WdSttfyhYdSwt|ttf�stt|�}|r�z(t|ttf�r�tj
j�|�WdStj
�|�|�d
�s�tj
�d
�WdSWdSttfy�YdSwdS)zdump the resultsNrr�jsonrtTF�utf8)�indent�	sort_keys�ensure_asciir.)r�r�r��yaml�ndjsonr)r8r�r��bytes�	bytearrayr��dumpsrHr�	safe_dumpr�Writerr�stdout�	write_all�close�BrokenPipeErrorr>r;r��endswith)r��output�writerr
r
r�
write_resultsKs^
�
��

��
���r�cCsd}d}d}d}d}d}d}d}d}	d}
d}d}d}
z
t�|dgd��\}}Wntjy6t�|
�Ynw|D]�\}}|d	vrIt�d
tj�|dvrSt�|
�q9|dvrZd}q9|d
vrad}q9|dvrhd}q9|dvrod}q9|dvryt�d}q9|dvr�t�d}q9|dvr�d}q9|dvr�d}q9|dvr�|}	q9|dvr�|
dur�g}
|
�|�q9|dvr�|dus�|dkr�d}q9|�	�dvr�d}q9|�	�dvr�d}q9t�d�q9|dvr�d}q9|dvr�d}|dkr�|nd}q9|d vr�d}q9|d!vr�d}q9|d"vr�d#}q9|d$v�rd%}q9|d&v�r
d'}q9|d(v�rd)}q9|�r9zt
��Wnt�y3}zt�|�WYd}~nd}~wwt�d*�ztj|||	|
|d+�}Wnt
�y]}zt�|�WYd}~nd}~ww|�rpt|�}tj�|�t�d*�|�r�zt||�}Wntjj�y�}z
t�d,|�WYd}~nd}~wwtj�|�t�d*�t|||�\}}}t|�d-k�r�t�|
�|}d}|D]C}zt||||||�}t||�W�q�t�y�}zt�d.|�WYd}~�q�d}~wt
�y}z	d}WYd}~�q�d}~ww|�rt�d-�dSdS)/rFr�NTr5asusage: cli4 [-V|--version] [-h|--help] [-v|--verbose] [-e|--examples] [-q|--quiet] [-j|--json] [-y|--yaml] [-n|--ndjson] [-i|--image] [-r|--raw] [-d|--dump] [-A|--openapi url] [-b|--binary] [-p|--profile profile-name] [-h|--header additional-header] [-w|--warnings [True|False]] [--get|--patch|--post|--put|--delete] [item=value|item=@filename|@filename ...] /command ...zVhveqjynirdA:bp:h:w:GPOUD)�version�help�verboser�quietr�r�r��image�raw�dumpzopenapi=�binaryzprofile=zheader=z	warnings=r�r�r�r�r�)z-Vz	--versionzCloudflare library version: %s)�-hz--help)z-vz	--verbose)z-qz--quiet)z-ez
--examples)z-jz--json)z-yz--yamlr�)z-nz--ndjsonr�)z-iz--imager�)z-rz--raw)z-pz	--profile)r�z--header)z-wz
--warningsr)�yesr/�1)�nor0�0z2cli4: --warnings takes boolean True/False argument)z-dz--dump)z-Az	--openapi)z-bz--binary)z-Gz--get)z-Pz--patchrz)z-Oz--postr*)z-Uz--putr))z-Dz--deleter|r)�debugr��profile�http_headers�warningszcli4: %s - Failedrzcli4: %s - Interrupted
)�getopt�GetoptErrorrrr��__version__rrr�r@r�display�ModuleNotFoundErrorr�rr�r�rr�r�r[r8r�r��KeyboardInterrupt)rLr�r��exampler��do_dump�
do_openapi�openapi_urlrKr�r�r�rJ�usage�opts�optrRr�r��arOrPrQ�commands�exit_with_errorr�r�r
r
r�do_it�s���


���
��
��

����r�cCst|�t�d�dS)rrN)r�rr)rLr
r
r�cli4sr�)NNN)rrr6r�r�r�r�rrrrrrrr�rrrr&r[r�r�r�r�r
r
r
r�<module>s,


w'8