MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/lib/python3.12/site-packages/pyynl/__pycache__/cli.cpython-312.pyc
�

��Nj���H�ddlZddlZddlZddlZddlZddlZejjeje	�j�jj��ddl
mZmZmZdZdZd�Zd�ZGd�dej*�Zd	�Zed
k(re�yy)�N)�	YnlFamily�Netlink�NlErrorz/usr/share/ynlz!../../../../Documentation/netlinkc�|�tjjtjjt��}tjj|�dt
���}tjj
|�st}tjj
|�std|�d���|S)N�/zSchema directory � does not exist)	�os�path�dirname�abspath�__file__�relative_schema_dir�isdir�sys_schema_dir�	Exception)�
script_dir�
schema_dirs  �./usr/lib/python3.12/site-packages/pyynl/cli.pyrrs��������������!:�;�J������J�<�q�1D�0E�!F�G�J�
�7�7�=�=��$�#�
�
�7�7�=�=��$��+�J�<��G�H�H���c�|�t�dz}tjj|�st	d|�d���|S)Nz/specszSpec directory r)rr	r
rr)�spec_dirs rrrs7���|�h�&�H�
�7�7�=�=��"��/�(��?�C�D�D��Orc��eZdZd�Zy)�
YnlEncoderc���t|t�rtj|�St|t�rt	|�St
jj||�S)N)�
isinstance�bytes�hex�set�list�json�JSONEncoder�default)�self�objs  rr"zYnlEncoder.default"sG���c�5�!��9�9�S�>�!��c�3����9�����'�'��c�2�2rN)�__name__�
__module__�__qualname__r"�rrrr!s��3rrc�@��d}d}tj||��}|jd��}|jddtd�	�|jd
dd�
�|jddtd�	�|jddt��|jdd��|jddt��|j�}|jdddt��|jddddd t�!�|jd"d#d$t��|jd%d��|jd&d��|jd'd(t
d)�	�|jd*d(t
d+�	�|jd,d-t��|jd.d/d0tj�1�|jd2d/d0tj�1�|jd3d/d0tj�1�|jd4d/d0tj�1�|jd5tj��|jd6d��|jd7d8d9d:d;t
�<�|j���fd=�}�jrXttj t#���D].}|j%d>�s�t'|j)d>���0y�j*rd?�_i}�j.rt1j2�j.�}�j4rVt#��d@�j4�d>�}�j,�|j7t8�rd?�_�j:�d�_n�j<}tj>jA|�stCdA|�dB���tE|�j,�j:�jF�C�}	�jFr|	jId��jJr|	jM�jJ��jNrI|	jPjS�D],\}
}t'|
dDdEjU|jV�dF��.�jXrI|	jZjS�D],\}
}t'|
dDdEjU|jV�dF��.	�j\r/|	j]�j\|�j^�}||��j`r$|	ja�j`|�}||��jbr\�jbD�
cgc].}
|
d8t1j2|
dG��j^xsgf��0}}
|	je|�}||��jJr*|	jg�jh�H�D]
}||��yycc}
w#tj$r }t'|�tmdG�Yd}~yd}~wtn$rYytp$rYywxYw)INz
    YNL CLI utility - a general purpose netlink utility that uses YAML
    specs to drive protocol encoding and decoding.
    zn
    The --multi option can be repeated to include several do operations
    in the same netlink payload.
    )�description�epilogT)�requiredz--family�familyzname of the netlink FAMILY)�dest�type�helpz--list-families�
store_truez5list all netlink families supported by YNL (has spec))�actionr0z--spec�specz#choose the family by SPEC file pathz--schema�schema)r.r/z--no-schema)r2z--json�	json_textz--do�do�DO-OPERATION)r.�metavarr/z--multi�multi��append)r7�	JSON_TEXT)r.�nargsr2r8r/z--dump�dumpzDUMP-OPERATIONz
--list-opsz--list-msgsz
--duration�durationz+when subscribed, watch for DURATION secondsz--sleepzalias for durationz--subscribe�ntfz	--replace�flags�append_const)r.r2�constz--exclz--createz--appendz--process-unknownz
--output-jsonz--dbg-small-recvri��store�?)r"rCr2r=r/c����jr%ttj|t���ytj�j|�y)N)�cls)�output_json�printr �dumpsr�pprint�
PrettyPrinter)�msg�argss �r�outputzmain.<locals>.output]s6�������$�*�*�S�j�1�2�� � �"�)�)�#�.rz.yaml�rz
Spec file r)�	recv_sizez [z, �]�)r?)9�argparse�ArgumentParser�add_mutually_exclusive_group�add_argument�str�intr�
NLM_F_REPLACE�
NLM_F_EXCL�NLM_F_CREATE�NLM_F_APPEND�BooleanOptionalAction�
parse_args�
list_families�sortedr	�listdirr�endswithrI�removesuffix�	no_schemar4r5r �loadsr-�
startswithr�process_unknownr3r
�isfilerr�dbg_small_recv�set_recv_dbgr@�
ntf_subscribe�list_ops�ops�items�join�modes�	list_msgs�msgsr6rAr>r9�do_multi�poll_ntfr?r�exit�KeyboardInterrupt�BrokenPipeError)r*r+�parser�
spec_group�grouprO�filename�attrsr3�ynl�op_name�op�reply�itemrnrM�erNs                 @r�mainr�*sW����K��F�
�
$�
$��,2�4�F��4�4�d�4�C�J����J�X�C�!=��?����-�l�!X��Z����H�6��!F��H����
����<�
���
�l��;�
����{���=��/�/�1�E�	���v�D�.�s��K�	���y�w�a��<�3��H�	���x�f�6F�S��Q�	���|�L��9�	���}�\��:�
����:�C�J��L�
���	�
��1��3�
���
�E���<�
����'�.�%�3�3��5�
����w�~�%�0�0��2�
���
���%�2�2��4�
���
���%�2�2��4�
���+�H�4R�4R��S�
������=�
���*�A�T�&�c���=�����D�/�����r�z�z�(�*�5�6�H�� � ��)��h�+�+�G�4�5�7�	��~�~�����E��~�~��
�
�4�>�>�*���{�{��*��Q�t�{�{�m�5�1���;�;��4�?�?�>�#B��D�K����'�#'�D� ��y�y��
�7�7�>�>�$���*�T�F�/�:�;�;�
�D�$�+�+�t�';�';�"�1�1�3�C����������x�x����$�(�(�#��}�}��7�7�=�=�?�K�G�R��'�4����2�8�8�!4�c�:�+��~�~��8�8�>�>�+�K�G�R��'�4����2�8�8�!4�c�:�,�
��7�7��F�F�4�7�7�E�4�:�:�6�E��5�M��9�9��H�H�T�Y�Y��.�E��5�M��:�:�QU�Q[�Q[�]�Q[��T�!�W�d�j�j��a��1�4�:�:�3C��D�Q[�C�]��L�L��%�E��5�M��8�8��|�|�T�]�]�|�;���s��<���	^����
�a���Q�����
���
��
�s8�BW �3W�	AW �W � 	X�)X�X�X�X�__main__)rTr r	�pathlibrK�sysr
r;�Pathr
�resolve�parent�as_posix�librrrrrrrr!rr�r%r(rr�<module>r�s�����	��
�
����������X�&�.�.�0�7�7�@�@�B�C�+�+���7����3��!�!�3�u
�p�z���F�r