HEX
Server: Apache
System: Linux ns517114.ip-158-69-26.net 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: urgentelectrical (1063)
PHP: 8.2.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib64/python3.12/site-packages/gi/__pycache__/_option.cpython-312.opt-1.pyc
�

f�_T3��0�dZddlZddlZddlmZmZmZmZmZddlm	Z	ddl
mZddlm
Z
e	d�Zejej!��Zgd	�ZGd
�dej&�ZGd�d
ej(�ZGd�dej*�ZeZy)a,GOption command line parser

Extends optparse to use the GOptionGroup, GOptionEntry and GOptionContext
objects. So it is possible to use the gtk, gnome_program and gstreamer command
line groups and contexts.

Use this interface instead of the raw wrappers of GOptionContext and
GOptionGroup in glib.
�N)�
OptParseError�OptionError�OptionValueError�BadOptionError�OptionConflictError�)�get_introspection_module)�_gi)�GError�GLib)	rrrrr�Option�OptionGroup�OptionParser�make_optionc��eZdZdZej
jdzZej
jgd�zZdejzZ
d�Zd�Zd�Z
y)	r
a�Represents a command line option

    To use the extended possibilities of the GOption API Option
    (and make_option) are extended with new types and attributes.

    Types:
        filename   The supplied arguments are read as filename, GOption
                   parses this type in with the GLib filename encoding.

    :ivar optional_arg:
        This does not need a arguement, but it can be supplied.
    :ivar hidden:
        The help list does not show this option
    :ivar in_main:
        This option apears in the main group, this should only
        be used for backwards compatibility.

    Use Option.REMAINING as option name to get all positional arguments.

    .. NOTE::
        Every argument to an option is passed as utf-8 coded string, the only
        exception are options which use the 'filename' type, its arguments
        are passed as strings in the GLib filename encoding.

    For further help, see optparse.Option.
    )�filename)�hidden�in_main�optional_arg�--c�.�tjj|g|��i|��|jst	d��t|j�t|j�krt	d��|jst	d|jd��y)Nz!%s at least one long option name.z;%s at least more long option names than short option names.z%s needs a help message.r)�optparser
�__init__�
_long_opts�
ValueError�len�_short_opts�help��self�args�kwargss   �1/usr/lib64/python3.12/site-packages/gi/_option.pyrzOption.__init__^s������ � ��7��7��7�����@�A�A��t����#�d�&6�&6�"7�7��M�O�
O��y�y��7�����9K�L�L��c��|j|vr%|jj|j�tjj||�t
|j�t
|j�kDrtd��y)NzCgoption.Option needs more long option names than short option names)	�	REMAININGr�appendrr
�_set_opt_stringrrr)r �optss  r#r(zOption._set_opt_stringjsk���>�>�T�!��O�O�"�"�4�>�>�2����'�'��d�3��t��� �3�t���#7�7��8�9�
9�8r$c#�$K�d}|jr|tjjz}|jr|tjj
z}|j
�r*|jr;|tjjz}n|tjjz}|jdk(r|tjjz}t|j|j�D]K\}}|d}t|t �s|j#d�}|dd|||j$|j&f���M|jt)|j�dD]"}|ddd||j$|j&f���$y�w)Nrrrzutf-8��)rr�OptionFlags�HIDDENr�IN_MAIN�takes_valuer�OPTIONAL_ARG�NO_ARG�type�FILENAME�ziprr�
isinstance�bytes�encoder�metavarr)r �flags�	long_name�
short_name�short_bytess     r#�_to_goptionentrieszOption._to_goptionentriesrsN�������;�;��T�%�%�,�,�,�E��<�<��T�%�%�-�-�-�E������ � ���)�)�6�6�6���T�%�%�,�,�,�E��9�9�
�"��T�%�%�.�.�.�E�'*�4�?�?�D�<L�<L�'M�#�Y�
�$�Q�-�K��k�5�1�)�0�0��9���Q�R�=�+�u�d�i�i����N�N�	(N�����T�-=�-=�)>�)?�@�I��Q�R�=�%���	�	�4�<�<�H�H�A�s�FFN)�__name__�
__module__�__qualname__�__doc__rr
�TYPES�ATTRSr�OPTION_REMAININGr&rr(r>�r$r#r
r
7s`���4
�O�O�!�!�%�
�E�
�O�O�!�!�%�
�E��t�,�,�,�I�
M�9�Ir$r
c�8�eZdZdZ			dd�Zd�Zd�Zd	d�Zd�Zy)
ra�A group of command line options.

    :param str name:
        The groups name, used to create the --help-{name} option
    :param str description:
        Shown as title of the groups help view
    :param str help_description:
        Shown as help to the --help-{name} option
    :param list option_list:
        The options used in this group, must be option.Option()
    :param dict defaults:
        A dicitionary of default values
    :param translation_domain:
           Sets the translation domain for gettext().

    .. NOTE::
        This OptionGroup does not exactly map the optparse.OptionGroup
        interface. There is no parser object to supply, but it is possible
        to set default values and option_lists. Also the default values and
        values are not shared with the OptionParser.

    To pass a OptionGroup into a function which expects a GOptionGroup (e.g.
    gnome_program_init() ). OptionGroup.get_option_group() can be used.

    For further help, see optparse.OptionGroup.
    Nc���tjj|td|�||_d|_||_|r||_d|_||_	|r|D]}|j|��yy)N�error)r�OptionContainerrr
�name�parser�help_description�defaults�values�translation_domain�
add_option)r rK�descriptionrM�option_listrNrP�options        r#rzOptionGroup.__init__�sk��	� � �)�)�$����M���	���� 0����$�D�M����"4����%������'�&�r$c�2�g|_|j�y�N)rS�_create_option_mappings)r s r#�_create_option_listzOptionGroup._create_option_list�s������$�$�&r$c�V�����fd�}tj�j�j�j|�}�j
r|j
�j
�g}�jD]!}|j|j���#|j|�|S)Nc���|jd�r�j|}n�j|}	|j||�j��y#t
$rht
j�d}tt|��}t|_tjj|_t|�|_|�wxYw)Nrr)�
startswith�	_long_opt�
_short_opt�processrOr�sys�exc_infor�str�OPTION_CONTEXT_ERROR_QUARK�domainrr�	BAD_VALUE�code�message)�option_name�option_value�group�optrI�gerrorrLr s      ��r#�callbackz.OptionGroup._to_goptiongroup.<locals>.callback�s�����%�%�d�+��n�n�[�1���o�o�k�2��
����K��t�{�{�F�K��#�
�����q�)����E�
�+�� :��
�"�.�.�8�8���!$�U������

�s�A�A1C)r
rrKrRrMrP�set_translation_domainrS�extendr>�add_entries)r rLrlri�entriesrTs``    r#�_to_goptiongroupzOptionGroup._to_goptiongroup�s����	� ����	�	�4�+;�+;� $� 5� 5�x�A���"�"��(�(��)@�)@�A����&�&�F��N�N�6�4�4�6�7�'�	���'�"��r$c�D�|j�|j|�S)z� Returns the corresponding GOptionGroup object.

        Can be used as parameter for gnome_program_init(), gtk_init().
        )�set_values_to_defaultsrq)r rLs  r#�get_option_groupzOptionGroup.get_option_group�s!��
	
�#�#�%��$�$�V�,�,r$c�L�|jD]q}|jj|j�}t	|t
�s�9|j
�}|j||�|j|j<�stj|j�|_
yrV)rSrN�get�destr6ra�get_opt_string�check_valuer�ValuesrO)r rT�default�opt_strs    r#rsz"OptionGroup.set_values_to_defaults�sz���&�&�F��m�m�'�'����4�G��'�3�'� �/�/�1��-3�-?�-?��W�.&��
�
�f�k�k�*�	'��o�o�d�m�m�4��r$)�NNNrV)	r?r@rArBrrXrqrtrsrFr$r#rr�s+���4<>�,0�$(�(�$'��<-�5r$rc�<�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d
d	�Z
y)raHCommand line parser with GOption support.

    :param bool help_enabled:
        The --help, --help-all and --help-{group} options are enabled (default).
    :param bool ignore_unknown_options:
        Do not throw a exception when a option is not knwon, the option
        will be in the result list.

    .. NOTE::
        The OptionParser interface is not the exactly the same as the
        optparse.OptionParser interface. Especially the usage parameter
        is only used to show the metavar of the arguements.

    OptionParser.add_option_group() does not only accept OptionGroup instances
    but also glib.OptionGroup, which is returned by gtk_get_option_group().

    Only glib.option.OptionGroup and glib.option.Option instances should
    be passed as groups and options.

    For further help, see optparse.OptionParser.
    c���d|vr	t|d<|jdd�|_|jdd�|_t	j
j|g|��ddi|��y)N�option_class�help_enabledT�ignore_unknown_optionsF�add_help_option)r
�popr�r�rrrrs   r#rzOptionParser.__init__sk����'�%+�F�>�"�"�J�J�~�t�<���&,�j�j�1I�16�'8��#����&�&�t�	8�(,�	8�U�	8�06�	8r$c�p�|�d|_y|jd�r|td�d|_y||_y)Nr}z%prog)�usager[r)r r�s  r#�	set_usagezOptionParser.set_usages5���=��D�J�
�
�
�g�
&��s�7�|�}�-�D�J��D�Jr$c�����jr�jdz�jz}n�j}tj|�}|j	�j
�|j
�j��jD]A}t|tj�r|}n|j��}|j|��C��fd�}tjddd|�}g}�jD]!}	|j|	j���#|j!|�|j#|�|S)Nz - c���|jd�r�j|}n�j|}|j||���y)Nr)r[r\r]r^)rgrhrirjr rOs    ��r#rlz1OptionParser._to_goptioncontext.<locals>.callback's?����%�%�d�+��n�n�[�1���o�o�k�2���K�K��\�6�4�@r$)rRr�r
�
OptionContext�set_help_enabledr��set_ignore_unknown_optionsr��
option_groupsr6rrt�	add_grouprSrnr>ro�set_main_group)
r rO�parameter_string�context�option_group�g_grouprl�
main_group�main_entriesrTs
``        r#�_to_goptioncontextzOptionParser._to_goptioncontexts������#�z�z�E�1�D�4D�4D�D��#�z�z���#�#�$4�5��� � ��!2�!2�3��*�*�4�+F�+F�G� �.�.�L��,����8�&��&�7�7��=�����g�&�/�	A��_�_�T�4��x�@�
����&�&�F����� 9� 9� ;�<�'����|�,����z�*��r$c���t|dt�r.tjj	|t|g|��i|���yt
|�dk(r�|s�t|dt
�r5|djs
||d_|dj|urtd��t|dtj
�r|jj|d�ytjj|g|��i|��y)Nrrz"invalid OptionGroup (wrong parser))r6rarr�add_option_grouprrrLrr
r�r'rs   r#r�zOptionParser.add_option_group7s����d�1�g�s�#��!�!�2�2�4�3>�t�3U�d�3U�f�3U�
W��
��Y�!�^�F��$�q�'�;�/��A�w�~�~�%)�D��G�N���7�>�>��-�$�%I�J�J��$�q�'�3�?�?�3��"�"�)�)�$�q�'�2�����.�.�t�E�d�E�f�Er$c��|jdd}|jD]8}t|tj�s�|j|j��:|SrV)rSr�r6rrrn)r �optionsris   r#�_get_all_optionszOptionParser._get_all_optionsGsK���"�"�1�%���'�'�E��%��!5�!5�6����u�0�0�1�(��r$c�~�|j|�}|jtjdg|z�dd|ddy)Nrr)r��parser_�argv)r �largs�rargsrOr�s     r#�
_process_argszOptionParser._process_argsNs<���)�)�&�1��
�=�=�#�(�(�1�+���!6�7���;��a�r$Nc���	tjj|||�\}}|j$D]@}|j&j(j+�D]\}}|j-||���B||fS#t$r�t	j
�d}|jtk7r�|jtjjk(rt|j��|jtjjk(rt|j��|jtjj k(rt#|j���wxYw)Nr)rr�
parse_argsrr_r`rcrbrerrrdrrf�UNKNOWN_OPTIONr�FAILEDrr�rO�__dict__�items�ensure_value)r r!rOr�rIri�key�values        r#r�zOptionParser.parse_argsVs ��	�$�1�1�<�<��d�F�$�M�G�T��'�'�E�#�l�l�3�3�9�9�;�
��U��$�$�S�%�0�<�(���}���#�	��L�L�N�1�%�E��|�|�9�9���z�z�T�-�-�7�7�7�&�u�}�}�5�5����t�/�/�>�>�>�$�U�]�]�3�3����t�/�/�6�6�6�#�E�M�M�2�2��	�s�$A9�9C*E#)NN)r?r@rArBrr�r�r�r�r�r�rFr$r#rr�s,���,8���@F� �<�r$r)rBr_rrrrrr�moduler	�gir
�	gi._errorrr�quark_to_string�option_error_quarkrb�__all__r
rrrrFr$r#�<module>r�s���(���(�(�,�����'��!�1�1�$�2I�2I�2K�L��
��TI�X�_�_�TI�n^5�(�&�&�^5�B|�8�(�(�|�~�r$